見出し画像

Jupyter notebookの豆腐問題をWeb検索とChatGPTで調べてみた。

個人のデータ分析環境を真面目に整備しなおそうと思い、クラウドベースのJupyter notebookのサービスをあれこれ試しています。ローカルのWindows PCにもWLS+Dockerで環境は作っているのですが、Chromebookからのアクセスを考えるとやはりクラウドがよいかなということで。

それで、今日は試しにGoogle CloudのVertex AIを使ってみることにしました。Vertex AI Workbenchのマネージドノートブックが楽そうだと考えてのことです。必要になったらサクッとJupyter notebookを立ち上げてPythonやRを使うような使い方を想定しています。Google Colabでもいいのですが、毎度pipするのが面倒なのと、自分の環境でpandas-profilingがうまく動かなかったのでVertex AIを試してみることにしました。

マネージドノートブックの立ち上げは至極簡単で、早速あれこれ動かしてみたのですが、Seabornで日本語がうまく表示できない現象がでました。日本語フォントの設定に関する問題ですが、界隈では豆腐問題と言われています。確かに豆腐ですね。

それで、「あーフォントの設定してなかったな」と思いつつ、手っ取り早くコピペできる例を探そうとGoogle先生で検索してみました。インフラの設定はあまり得意でないので毎度ググって乗り切る感じにしてます。そこであまり深く考えず以下のキーワードでググってみるとばっちり良い記事がひっかかりました。

vertex ai workbench マネージドノートブック seaborn 豆腐 日本語

ここでふと「豆腐という言葉を入れなかったらどうなるか?」と思い、豆腐を入れずに検索してみると、上手く引っ掛かりませんでした。Vertex ai などの固有のワードを取るとそこそこうまくいきます。

ということでやはり豆腐が重要だよなと思ったのですが、そもそも豆腐問題を知らない人が検索したら試行錯誤してしまうのではないかとも感じました。

そこで、最近重宝しているChatGPT君に聞いてみると、よさそうな情報を得ることができました。以下の画像では途中までの回答となっていますが、最後にPythonでコードを書く時の例まで出てきます。丁寧な感じもよいですね。(以下の出力例はGPT4を使ったものです)

ということで、ChatGPTのアドバイスにしたがってapt-getしてみたのですが、権限がなく先にすすめませんでした。再びGoogleで「vertex ai workbench sudoできない」と調べてみると、以下のような情報が見つかりました。マネージド環境だとカスタムカーネルを準備する必要がありそうですね。(サービスの内容をあまり確認していない私が悪いですね)

マネージド環境ではターミナルからインストールできないので、カスタムカーネルでDockerfileに以下のコマンドを追加してビルドする必要があります。

出典:【GCP】Vertex AIのWorkbenchで日本語を含むグラフを文字化けさせずにプロット

MeCabも入れたいしカスタムカーネル作るかと思いつつ、試しにChatGPTに聞いてみると以下のような回避策を教えてくれました。もしかするとこれで解決できるかもしれません。

実際には上記の手順をベースにコードを少し修正することで、コンテナを作り直すことなく豆腐問題を解決することができました。ただ、根本的にはカスタムコンテナを作るべきかなと思っています。

ということで、Vertex AIのマネージドノートブックで豆腐問題と戯れた様子をnoteに書いてみました。実際の問題解決には以下のサイトの情報が参考になると思います。トラブルシューティングはWeb検索とChatGPTの両方を使うと解決が速そうですね。

参考記事:


この記事が気に入ったらサポートをしてみませんか?