TensorFlowの変数(Variable)を一部分だけ復元(restore)する – There are some issues When I restore a part of tf.Variables by import_meta_graph –

こんにちは、ばいろん(@discexOmnes)です。

今日はTensorFlowを使う上で悩み事があったので紹介します。

悩み

TensorFlowを使った学習済みのモデル(RNN/LSTM)を使いまわすためにsava/restoreのメソッドを使って、保存した変数たちの一部であるW:weightとB:biasだけを復元したいが、エラーが発生する。

import_meta_graphを使ってTensorFlowのモデルの復元を試みる

import_meta_graphという関数はご存知でしょうか?この関数はTensorFlowで保存した変数の中で自分が使いたいものを復元できるらしいのです。この機能を使うことで取り扱う変数を局所化し、コードを見ただけで直感的に変数のスコープを認識できるように改善できそうです。しかし、実際に試してみると2つの変数は確かに復元できるのですが、それだけではモデルそのものの復元ができないことがわかりました。

再帰的ニューラルネットワーク(RNN, LSTM)をTensorFlowを用いて実装しました#1

TensorFlowを用いた再帰的ニューラルネットワークのクラスを実装したので晒していきます。数回に分けてクラスの概要、機能、実装の説明をしようと思います。バグや実装の悪い部分などがあればTwitterやコメント欄にメッセージをくださると助かります。

TensorFlowを使った自作ラッパーを作成しました

Abstract

TensorFlowそのものの動作を学ぶために作った機械学習用の自作ラッパーを紹介します。現在はいくつか機能(RNN対応、活性化関数の追加)が増えているのですが、今回のエントリーでは一番初めにベースとなったDNNの自作ラッパーをもとに設計の時に考えたこと文章として残しておきます。

ラッパー作成に関してはTensorFlowやchainerのフロントエンドとして使われているKerasのインターフェイスをある程度参考に実装を行っています。

Scroll to top