私はさまざまな例を見つけました。しかし、私はそれらを理解できませんでした。私のリストはここにあります: 最初のリストで私は体重を節約しており、第2の対応する鍵には が格納されています。例えばsavezを使用して配列を保存する方法
self.weight_list=[]
self.keys=[]
:
# conv1_1
with tf.name_scope('conv1_1') as scope:
kernel = tf.Variable(tf.truncated_normal([3, 3, 3, 64], dtype=tf.float32,
stddev=1e-1), name='weights')
conv = tf.nn.conv2d(images, kernel, [1, 1, 1, 1], padding='SAME')
biases = tf.Variable(tf.constant(0.0, shape=[64], dtype=tf.float32),
trainable=True, name='biases')
out = tf.nn.bias_add(conv, biases)
self.conv1_1 = tf.nn.relu(out, name=scope)
self.parameters += [kernel, biases]
self.keys.append('conv1_1')
self.weight_list.append(self.parameters)
私はNPZ形式でこれらの配列を保存していませんか。
How to use `numpy.savez` in a loop for save more than one array? この例を実装しようとしましたが、このエラーが発生しています。ここで
Traceback (most recent call last):
File "f.py", line 355, in <module>
vgg = vgg16(imgs1,imgs2, 'vgg16_weights.npz', sess)
File "f.py", line 43, in __init__
self.SaveWeights()
File "f.py", line 344, in SaveWeights
exec(str_exec_save)
File "<string>", line 1, in <module>
NameError: name 'conv1_1' is not defined
が、私はこの
def SaveWeights(self):
tmp = file("vgg16_predict.npz",'wb')
# save the npz file with the variables you selected
str_exec_save = "np.savez(tmp,"
for i in range(len(self.keys)):
str_exec_save += "%s = %s," % (self.keys[i],self.keys[i])
str_exec_save += ")"
exec(str_exec_save)
tmp.close
あなたが試したことを示して、それがどのように失敗しているのかを説明できますか? – glibdud
私はこの例を見てきます。http://stackoverflow.com/questions/22712292/how-to-use-numpy-savez-in-a-loop-for-save-more-than-one-array – user3102085
何私ドンキーと重みのリストをリンクするにはどうすればいいですか?私の質問が明確であることを願っています。 – user3102085