當我從git中克隆它時,AlexNet的基準是Tensorflow存儲庫的一部分。基準測試實現了圖層,但是在我看來,AlexNet的實際權重並未在任何時候加載。是否有AlexNet權重可用於Tensorflow?
我想玩Tensorflow,但我的應用程序(caffe)正在使用預先訓練的AlexNet。
你是否認爲他們也會發布權重?
當我從git中克隆它時,AlexNet的基準是Tensorflow存儲庫的一部分。基準測試實現了圖層,但是在我看來,AlexNet的實際權重並未在任何時候加載。是否有AlexNet權重可用於Tensorflow?
我想玩Tensorflow,但我的應用程序(caffe)正在使用預先訓練的AlexNet。
你是否認爲他們也會發布權重?
我不知道現有的,但有人寫了converter to import Caffe models into tensorflow,你可以找到pre-trained Alexnet models for Caffe(也見the BVLC Model-Zoo)。我不能保證它會起作用,但你可以很有可能將這兩者粘合在一起以得到你想要的。
沒有,基準文件只是執行,你必須訓練和評估
http://www.cs.toronto.edu/~guerzhoy/tf_alexnet/有訓練的權重的權重numpy的陣列上AlexNet。你可以使用TensorFlow中的那些。
是的,有AlexNet可供Tensorflow預訓練的權重,你可以下載它here
將它們加載到你的項目,你可以使用下面的代碼(改編自here)
# Load the weights into memory
weights_dict = np.load('./weight-path/bvlc_alexnet.npy', encoding='bytes').item()
# Loop over all layer names stored in the weights dict
for op_name in weights_dict:
# Check if layer should be trained from scratch
if op_name not in self.SKIP_LAYER:
with tf.variable_scope(op_name, reuse=True):
# Assign weights/biases to their corresponding tf variable
for data in weights_dict[op_name]:
# Biases
if len(data.shape) == 1:
var = tf.get_variable('biases', trainable=False)
session.run(var.assign(data))
# Weights
else:
var = tf.get_variable('weights', trainable=False)
session.run(var.assign(data))