提到机器学习,深度学习这些,大家都会立马想起Python。但R的实力也不容小觑。今天就用R来演示一个基于TensorFlow的图像识别的例子。如果你想运行这些代码,就必须先安装配置好TensorFlow,我是在Linux系统上面运行的。如何配置TensorFlow尽量看看官方文档,虽然是英文的,但是最新的,也是最准确的。
废话不说,直接来看代码,在代码中我也做了详细的注释,看起来应该不是很困难。
主要代码转自:
https://randomthoughtsonr.blogspot.com/2016/11/image-classification-in-r-using-trained.html
我在网上找的了一张草莓的图片,使用该模型进行识别。
识别结果如下图,不过结果还挺准的。是草莓的概率是0.99999。不过有的情况下识别结果还是不太准的,毕竟这个模型也是有限的。
再来一张二哈(英文名:Siberian husky,取自百度百科)的照片,我专门在百度百科上面找了一张二哈比较霸气的照片。在百度百科上面找的主要原因就是保证这张照片就是二哈。
图片来自百度百科 词条“西伯利亚雪橇犬”
分析结果表明是二哈的可能性是0.592.基本上还是挺准的。
也许就有人说Siberian husky和husky,有什么区别,百度百科上面他们好像就是一个。在维基百科查阅发现,Siberian husky是husky的一个品种,husky还包括了其他品种比如拉布拉多犬哈士奇,我相信一些爱狗人士可能会董。于是我在维基百科上面的husky词条找到了下面这张照片。
图片来源 维基百科 词条“Husky”
结果显示是husky的概率是0.46234.还是挺准的,毕竟这只是一张侧脸照。把这两张照片放在一块,我觉得一般人都分不清楚。
补充:
由于TensorFlow发展比较快,如果看一些比较旧的资料,比如两年前的资料,在用最新的TensorFlow时,输入有的API就会报错,我在这跟大家分享几个API更新后的名字,希望在用的时候能帮到大家。
领取专属 10元无门槛券
私享最新 技术干货