Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 提供Caffe的AlexNet模型_Python_Model_Deep Learning_Caffe_Imagenet - Fatal编程技术网

Python 提供Caffe的AlexNet模型

Python 提供Caffe的AlexNet模型,python,model,deep-learning,caffe,imagenet,Python,Model,Deep Learning,Caffe,Imagenet,我一直在使用TensorFlow,但我对Caffe是新手。我想尝试在ImageNet上培训的AlexNet的可靠实现,我发现其中包括一个 我能够在一个非常短的Caffe代码中将打包在文件中的权重和中指定的模型链接起来,并获得1000个概率的输出向量,对应于网络将图像分类到的1000个类别 将numpy导入为np 将matplotlib.pyplot作为plt导入 导入系统 进口咖啡 进口经营者 MODEL_FILE='D:\\Desktop\\caffe\\models\\bvlc\u alex

我一直在使用TensorFlow,但我对Caffe是新手。我想尝试在ImageNet上培训的AlexNet的可靠实现,我发现其中包括一个

我能够在一个非常短的Caffe代码中将打包在文件中的权重和中指定的模型链接起来,并获得1000个概率的输出向量,对应于网络将图像分类到的1000个类别

将numpy导入为np
将matplotlib.pyplot作为plt导入
导入系统
进口咖啡
进口经营者
MODEL_FILE='D:\\Desktop\\caffe\\models\\bvlc\u alexnet\\deploy.prototxt'
PRETRAINED='D:\\AlexNet\u Caffe\\bvlc\u AlexNet.caffemodel'
net=caffe.Classifier(模型_文件,预训练)
IMAGE_FILE='D:\\Desktop\\caffe\\python\\testIm1.jpg'
输入图像1=caffe.io.load图像(图像文件)
IMAGE\u FILE='D:\\Desktop\\caffe\\python\\testIm2.jpg'
输入图像2=caffe.io.load图像(图像文件)
pred=net.predict([input_image1,input_image2])
print pred#打印1000个概率的数组
索引,value=max(枚举(pred[0]),key=operator.itemgetter(1))
打印索引#打印最大概率的索引
打印值#打印最大概率
索引,value=max(枚举(pred[1]),key=operator.itemgetter(1))
打印索引#打印最大概率的索引
打印值#打印最大概率
在我的例子中,我可以指定模型和权重并获得输出,但是,无论我输入什么图像,输出似乎都是相同的(669)。

在Caffe存储库中,有一个。它下载并提取的tarball包含以下文件:

$ls-al
总数80395
drwxr-xr-x 1根197121 0 Aug 8 14:09/
drwxr-xr-x 1根197121 0 Aug 7 16:27/
-rw-r--r--1根197121 187 2014年2月25日。_imagenet_mean.binaryproto
-rw-r--r--1根197121 187 2014年4月8日。_synset_words.txt
-rw-r--r--1根197121 187 2014年2月25日。\u synsets.txt
-rw-r--r--1根197121 187 2014年2月25日。_test.txt
-rw-r--r--1根197121 187 2014年2月25日。\u train.txt
-rw-r--r--1根197121 187 2014年2月25日。_val.txt
-rw-r--r--1根197121 17858008年8月8日14:09 caffe_ilsvrc12.tar.gz
-rw-r--r--1根197121 3787 2014年6月8日det_synset_words.txt
-rwxr-xr-x 1 root 197121 610 Aug 8 13:41 get_ilsvrc_aux.sh*
-rw-r--r--1根197121 14931117 2014年7月11日imagenet.bet.pickle
-rw-r--r--1根197121 786446 2014年2月25日imagenet_mean.binaryproto
-rw-r--r--1根197121 31675 2014年4月8日synset_words.txt
-rw-r--r--1根197121 10000 2014年2月25日synsets.txt
-rw-r--r--1根197121 3200000 2014年2月25日test.txt
-rw-r--r--1根197121 43829433 2014年2月25日train.txt
-rw-r--r--1根197121 1644500 2014年2月25日val.txt
我不确定是否还需要使用文件
imagenet\u mean.binaryproto
imagenet.bet.pickle


有人能澄清一下吗?

你需要减去图像的平均值

当深度模型被训练时,输入通常被标准化为粗略平均值=0。对于Caffe的AlexNet,图像平均值保存在
imagenet_mean.binaryproto

有关如何使用预先训练的模型来获得分类结果的信息,请参见