我如何在TensorFlow中使用自己的图像?
作者:互联网
我知道之前曾有人问过这个问题,但我还没有找到可以使用的答案.我是Python和Tensorflow的新手,但是使用MNIST图像集设法使我的准确性达到了-99.3%.现在,我想尝试使用自己的图像,但是事实证明,这对我来说比预期的要困难得多.
我已经在Tensorflow网站上阅读了数百次教程页面,但这对我来说没有任何意义,无论我尝试什么,最终都会得到警告.现在我想自己弄清楚,但是没有人知道哪种方式最适合使用我自己的图像吗?还是任何例子?我一直在网上寻找它们,但感觉好像我发现了它们中的1000个,但没有一个能以我能理解的方式得到解释.
感谢您的帮助.
解决方法:
好的,因此,将它们放在一起,您将有42个课程,并且每个课程大约需要10张图片.
这使您完全需要两件事:
> Transfer Learning
> Data Augmentation
您已经在注释中解决了可能需要增加数据的问题,并且您发现了:为了充分利用每个类的10张图像,您需要对它们进行一堆转换.总图像数量可能超过10/20:
>播种
>缩放
>噪音
>对比度/颜色/亮度调节
>旋转
用于图像分类的数据增强的一个很好的例子是official resnet example model
第二是转移学习.当您尝试从很少的数据学习42个类的模型时,您可能可以通过从对其他数据进行训练的模型开始,然后使用新的数据集重新训练最后(很少)几层,从而做得更好.其背后的原因是,初始训练的更大示例空间将帮助您的分类器学习各种常见的图像特征,您的迁移学习分类器可以使用这些特征更快地实现更高级别的识别.
当然,另一种选择是,您可以进行某种形式的主动学习-训练分类器,然后向其显示令牌的图像(可能通过网络摄像头对每个帧进行分类),如果出现错误,请将其另存为下轮培训的例子.这需要更多的工作,您必须为其构建一些基础结构,所以我将从迁移学习开始.
然后,您会遇到一个问题,即从哪种体系结构开始进行迁移学习.对于您正在做的事情来说,初始阶段可能太多了,但是股票MNIST模型可能比您想要的更简单.您需要做一些实验-像常见的MNIST示例一样,经过改进的LeNet样式分类器可以很好地工作(添加另一个卷积层,添加batchnorm以及可能会有一些缺失).另外,您可以从经过培训的Mobilenet网络开始,然后从中学习.我很想从后者开始,除非您对推理速度有严格的计算限制.
对于您的图像,我将从创建JPEG图像目录开始.处理它们的最“官方”方式是this answer中的过程.
标签:image-recognition,python-3-x,tensorflow,tensorflow-datasets,python 来源: https://codeday.me/bug/20191110/2014845.html