1. ホーム
  2. python

[解決済み] TensorFlowのVariableとget_variableの違い

2022-06-20 04:17:53

質問

私の知る限りでは Variable は変数を作るためのデフォルトの操作であり get_variable は主に重みの共有に使われます。

一方では get_variable の代わりに、プリミティブな Variable の操作に置き換えます。一方、私は単に get_variable はTensorFlowの公式ドキュメントやデモで使われているのを見るだけです。

したがって、私はこれらの2つのメカニズムを正しく使用する方法について、いくつかの経験則を知りたいと思います。標準的な原則はあるのでしょうか?

どのように解決するのですか?

私は、常に tf.get_variable(...) -- を使用することをお勧めします。これにより、例えばマルチ GPU 環境で変数を共有する必要がある場合に、コードのリファクタリングが非常に簡単になります (マルチ GPU CIFAR の例を参照してください)。これには何のマイナス面もありません。

純粋な tf.Variable は下位レベルであり、ある時点で tf.get_variable() は存在しなかったので、いくつかのコードはまだ低レベルの方法を使用しています。