私はtheanoのDNNを訓練しましたが、特定の問題のためテンソルフローに切り替えました。私はtheanoをテナントフロー形式に変換しました。私はtheanoにあったのと同じアーキテクチャをテンソルフローで構築しました。しかし、私はディスク上にあるweight file
でレイヤーの重みをどのように初期化するのですか?これは私の基本アーキテクチャです:テンソルフロー層のカスタムウェイトをロード
input_layer = keras.layers.InputLayer(input_shape=(224,224,3),input_tensor=features)
# Conv block 1
conv1_1 = tf.layers.conv2d(inputs=input_layer,
filters=64, kernel_size=[3,3],
padding='same',
activation=tf.nn.relu,
name='conv1_1')
conv1_2 = tf.layers.conv2d(inputs=conv1_1,
filters=64, kernel_size=[3,3],
padding='same',
activation=tf.nn.relu,
name='conv1_2')
pool1 = tf.layers.max_pooling2d(inputs=conv1_2,
pool_size=(2,2),
strides=(2,2),
name='pool1')
# Conv block 2
conv2_1 = tf.layers.conv2d(inputs=pool1,
filters=128, kernel_size=[3,3],
padding='same',
activation=tf.nn.relu,
name='conv2_1')
conv2_2 = tf.layers.conv2d(inputs=conv2_1,
filters=128, kernel_size=[3,3],
padding='same',
activation=tf.nn.relu,
name='conv2_2')
pool2 = tf.layers.max_pooling2d(inputs=conv2_2,
pool_size=(2,2),
strides=(2,2),
name='pool2')
# Conv block 3
conv3_1 = tf.layers.conv2d(inputs=pool2,
filters=256, kernel_size=[3,3],
padding='same',
activation=tf.nn.relu,
name='conv3_1')
conv3_2 = tf.layers.conv2d(inputs=conv3_1,
filters=256, kernel_size=[3,3],
padding='same',
activation=tf.nn.relu,
name='conv3_2')
conv3_3 = tf.layers.conv2d(inputs=conv3_2,
filters=256, kernel_size=[3,3],
padding='same',
activation=tf.nn.relu,
name='conv3_3')
pool3 = tf.layers.max_pooling2d(inputs=conv3_3,
pool_size=(2,2),
strides=(2,2),
name='pool3')
私はディスク上にある重量ファイルからどのように重量を読み込みますか?助けてください
なぜ両方のバックエンドにKerasモデルを使用しないのですか? – Xvolks
今はケラスにはないものがあるからです。また、許可されていません – mlRocks