我是照着YouTube上的机器学习视频做的,视频里讲的比较简洁,下来自己做遇到不少坑。

tensorflow for
poets网站:https://codelabs.developers.google.com/codelabs/tensorflow-for-poets/index.html?index=..%2F..%2Findex#1

我的流程如下:


首先下载anaconda,对应python2.7版本(3.6的感觉不好用,要重新导入很多东西,学习代码反而不方便),环境变量设置一下

然后使用其下载tensorflow,在anaconda目录下的envs下就是tensorflow了。

学习使用的文件有2个,一个是tensorflow-for-poets-2,在上面网站第二步中下载。一个是训练用的图片素材,在第三步下载。

接下来就是训练模型了(使用的模型并不是完全未经过训练的,只是我们可以再训练)

进入命令提示符cmd——激活tensorflow,即输入activate
tensorflow(不然到时候找不到tensorflow)——进入tensorflow-for-poets-2目录下,即输入cd
tensorflow-for-poets-2(当然这个tensorflow-for-poets-2要在你当前路径下,即放在你打开cmd时显示的路径下,图片文件夹tf_files放tensorflow-for-poets-2目录下,当然你可以放别处,只是下面的配置稍作更改)

接下来你可以看看scripts脚本下retrain.py的信息,即输入python -m scripts.retrain
-h,根据显示的信息进行配置,比如我用的是:python -m scripts.retrain
--bottleneck_dir=tf_files/bottlenecks --how_many_training_steps=500
--model_dir=tf_files/models/ --summaries_dir=tf_files/training_summaries/basic
--output_graph=tf_files/retrained_graph.pb
--output_labels=tf_files/retrained_labels.txt
--architecture="mobilenet_0.50_224" --image_dir=tf_files/flower_photos



以上配置在显示的信息中都有说明。当我们输入以上配置,enter后,训练就开始了,训练使用时间根据你的architecture设置是什么而定,如果是inception_v3,那么精度高耗时多,如果如上面用mobilenet那么时间要快点。在这里就等等吧。

当以上训练完成后,我们可以给它一张图片进行预测,比如输入:python -m scripts.label_image
--graph=tf_files/retrained_graph.pb
--image=tf_files/flower_photos/daisy/21652746_cc379e0eea_m.jpg这里需要更改的就是图片了,此处设为原始训练库中的花,enter后,输出如下:Evaluation
time (1-image): 0.359s
daisy 0.99115634
dandelion 0.0063383654
sunflowers 0.0024961976
roses 6.5435215e-06


tulips 2.6802825e-06

可以看到,这张图片99%以上概率是雏菊,结果正是如此。

然后我在网上随意下了一张雏菊的图片(而且角度很刁钻,从下往上拍的照片,白色花瓣的背景是白云,不是很清晰),预测结果也是高于99%


以上就是第一个练习。