1. ホーム
  2. python

[解決済み] TensorFlowでXavierの初期化を行う方法

2023-04-21 17:13:26

質問

CaffeのネットワークをTensorFlowに移植しているのですが、xavierの初期化ができていないようです。私は truncated_normal を使っていますが、これでは学習がかなり難しくなっているようです。

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

Tensorflow 2.0 であり、さらに両方の tf.contrib.*tf.get_variable() は非推奨です。Xavierの初期化を行うには、現在、次のように切り替える必要があります。

init = tf.initializers.GlorotUniform()
var = tf.Variable(init(shape=shape))
# or a oneliner with a little confusing brackets
var = tf.Variable(tf.initializers.GlorotUniform()(shape=shape))

Glorot uniformとXavier uniformは、同じ初期化タイプの異なる名前です。TF2.0でKerasを使用する、しないに関わらず、初期化の使用方法についてもっと知りたい場合は、以下を参照してください。 ドキュメント .