3

当我从 git 克隆 AlexNet 时,它的基准测试是 Tensorflow 存储库的一部分。基准实现了这些层,但在我看来,AlexNet 的实际权重在任何时候都没有加载。

我想玩一下 Tensorflow,但我的应用程序(在 caffe 中)使用的是预训练的 AlexNet。

你认为他们也会释放重量吗?

4

4 回答 4

7

我不知道现有的,但有人写了一个转换器来将 Caffe 模型导入 tensorflow,你可以找到用于 Caffe 的预训练 Alexnet 模型(另见BVLC Model-Zoo)。我不能保证它会起作用,但你很可能将这两者粘合在一起以获得你想要的东西。

于 2015-11-12T20:49:28.103 回答
2

是的,有可用于 Tensorflow 的 AlexNet 预训练权重,您可以在此处下载

要将它们加载到您的项目中,您可以使用以下代码(改编自此处

# 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))
于 2018-02-05T14:16:01.047 回答
1

http://www.cs.toronto.edu/~guerzhoy/tf_alexnet/具有作为 AlexNet 上训练权重的 numpy 数组的权重。您可以在 TensorFlow 中使用它们。

于 2017-01-13T09:58:28.050 回答
0

不,基准文件只是实现,你必须训练和评估

于 2016-10-17T07:15:13.733 回答