雲のメモ帳

猫とクラウドと旅行が好きなインフラエンジニアです。 日々の調べたことや興味が持ったことをこのブログにアウトプットします。

Databricks上でTensorBoardを実行して、Word2Vecモデルを可視化してみた

これはなに?

Databricks上でTensorBoardが実行できることを知ったので、Word2VecのモデルをDatabricks上で可視化するサンプルコードを残しています。

サンプルコード

コードを見て気が付いた方もいるかもしれませんが、JupyterNotebookのマジックコマンドと同様のコマンドでTensorBoardが実行できます! ロードしているモデルは以下のブログで作成してものです。 www.cloudnotes.tech

#-----
# ① モデルのロード
#-----

# モデルの格納Path
model_path = "./polka.model"
model = gensim.models.Word2Vec.load(model_path)

#-----
# ② 可視化コンテンツの作成
#-----
writer = SummaryWriter(log_dir="./logs")
weights = model.wv.vectors
labels = model.wv.index_to_key

writer.add_embedding(torch.FloatTensor(weights), metadata=labels)

#-----
# ③ 可視化コンテンツの作成
#-----

%load_ext tensorboard
%tensorboard --port 6006 --logdir=logs   --bind_all

実行結果

実行結果は、以下のような形です。コマンドの実行結果の部分にTensorBoardが埋め込まれます。ハイパーリンクがあるので、別タブとしてTensorBoardを開くことも可能です。

権限的な部分を少し確認してみましたが、Databricks ワークスペースにログインできるユーザーであれば、TensorBoardを閲覧することが可能なようです。(ノートブックの参照権限が必要かどうかは未検証。

最後に

Databricks上でTensorBoardを実行できるのは環境準備する手間が省けるのでとても便利ですね。Jupyter Labで利用できるマジックコマンドはDatabricks上で動かせるようなので、その他のツールについても調べてみようと思います。