ujimushi(@旧sradjp(15364))の日記

旧スラドの日記の引越先です

Google ColaboratoryがJulia言語に正式対応

Julia DiscourseGoogle Colab support for Julia 🎉Julia in Colab等の記事, Zennの記事Qiitaの記事等々の情報によると Google ColaboratoryでJulia言語が正式に使えるようになったようです。 ちょっとした試用には良さそうです。少し確認してみましょう。

Julia言語の利用方法

Julia言語を利用するにはノートブックを開いてからメニューの「ランタイム→ランタイムのタイプを変更」から 設定を変更します。

次はランタイムのタイプを変更のダイアログの画面です。

Python3、Julia言語の他、Rも使えそうですね。Jupyter勢ぞろいです。

自分としてはGPUを使う操作はしないので,CPUのまま利用します。 今回の利用マシン情報です。

「保存」ボタンを押してダイアログを閉じるとJulia言語への切り換え完了です。

デフォルトの状態の確認

versionfinfo

まず,versioninfo()を確認してみます。

Julia言語のバージョンはv1.10.8LTS版の最新です。 といっても1.10.9が順調なら1週間後にリリースされそうなので, その時にどれぐらいの時間差で更新されるかも楽しみです。

JULIA_NUM_THREADS=2なのは少し注意が必要かもしれません。 コア数2の仮想マシンという感じでしょうか。

インス一ル済みのパッケージ

次にPkg.status()でインスト一ル済みのモジュールを確認してみます。

  • CSV
  • DataFrames
  • IJulia
  • Makie
  • Plots

ですが,インス一ル済みのMakieがクセ強です。実際はCairoMakieWGLMakie等を使わないと グラフが表示できないので,これがあるから他のバックエンドが直接使えるという感じではないです。 Plotsはバージョン1では暗黙にGRバックエンドがロードされるので,using Plotsだけで すぐにグラフが描画できます。

フォント情報

fc-listでフォントのインストール状況を確認してみます。

日本語が表示できそうなフォントは皆無です。

ということでPlots.jlのGRバックエンドで日本語を表示するのに PlotsGRBackendFontJaEmoji.jlがすごく役に立ちそうです。

Plots.jl GRバックエンドのデフォルトフォント

Plots.jlのデフォルトのフォントファミリーはsans-serifなので,そこにないグリフは表示できません。

なぜか🐱だけは表示されています。絵文字が使えない!!とかクレームが多いので, 良く使いそうな絵文字を部分的に追加しているのでしょうか。

Plots.jl GRバックエンドのでたらめ指定(OSデフォルト)

いつものでたらめフォント指定です。

でも,文字列自体は全部ちゃんと表示されます。 そのかわり,文字サイズが正常に取得できないので,凡例からはみ出してしまっています。

Plots.jl GRバックエンドのPlotsGRBackendFontJaEmoji.jl利用

最後に手前味噌のPlostGRBackendFontJaEmoji.jlを使用します。url指定でPkg.addします。

特に問題なく日本語が表示できます。

絵文字はモノクロになるので,カラー表示がいいならでたらめフォント指定もアリでしょう。

追記[2025-03-08]

その後分かったことというか,「こうだったんだ」と思ったことを書きます。

カレントディレクトリは/content

pwd()を実行すると/contentということが分かります。

sample_dataというフォルダがあって,mnistCSVファイルがあることが分かります。

すぐに機械学習系のコードを試すことができるようになっています。

他のストレージのマウント,ファイルのアップロードなど

Pythonの場合だとGoogleドライブのマウントに対応しているのですが,今のところJulia言語は対応していません。

なので,何かファイルのデータを利用する時は手動でアップロード,結果をファイルに出力した時はダウンロードする必要があります。

ファイルのアップロードは左側の「フォルダのアイコン」を選択,左上の「紙に上向きの矢印」のアイコンを選択し, ローカルのファイルを選ぶ操作で可能です。

ファイルの選択画面はブラウザやOSによって異なります。 次の画像はubuntu 24.04,firefoxでの選択画面です。

アップロードが完了するとアップロードしたファイルはセッションが終わるまでアクセス可能との旨のダイアログが表示されます。

セッションが終わると自動的に削除され,次回はきれいさっぱり無くなっています。

最後にアップロードしたファイル全部をテキストで読み込んでみます。

ちゃんと読み込めているようです。

また,Webで公開されているデータであれば標準ライブラリのDownloadsを使うと簡単にファイルを取得できます。 unzipコマンドがあるので,run関数を使えば展開して中のファイルを手軽に利用可能です。

次はJuiseeフォントのファイルをダウンロードして展開する例です。

ついでにPlotsGRBackendFontJaEmoji.jlを使って Juiseeフォントを利用してグラフを表示してみます。

まずはPkg.add

次にフォントファイルをPlots.jlのGRバックエンドに登録してグラフを表示します。

グラフをpngファイルにしてGUI操作でダウンロードします。