图像来源于cs231n课件
CIFAR-10是这个系列中介绍的第二个数据集。由Alex Krizhevsky和 Ilya Sutskever收集的一个用于大分类的数据集。CIFAR是加拿大政府投资的一个先进科学项目研究所。财力雄厚呀~~这个项目找到了计算机科学家,生物学家,电气工程师,神经科学家,物理学家,心理学家,加速推动了DEEP LEARNING的进程。
CIFAR-10数据集中,包括了60000张32×32的RGB彩色图像,共10个分类(飞机,汽车,鸟,猫,鹿,狗,青蛙,马,船,卡车)。其中50000张用于训练,10000张用于测试。这个测试集的突破之处在于区分了普通物体之间类与类的差别。数据中的图像来源跟质量,识别对象比例大小都是不同的,因此给任务带来更大的挑战。也就是按照类别分成十个文件夹,这十个文件夹内存放同类别的图像。利用代码,从这十个类中再抽取相同比例的图像作为测试集,以评估算法的性能(交叉计算)。
比如说,人脸识别现在日趋成熟,多维度特征都得以被机器认识。但其他的物品是很难的。我们看到一只猫咪的时候,知道猫咪是一种生物,叫声是喵喵的,会自己发出行为,但机器很难区分它是一只喵还是一个东西。在这个角度来讲,实际还有很大探索的空间。一个朋友说,我们现在实际上无法准确定义什么是智能,什么是意识。因此这一切也可能是悖论。所有事物的标准,看似是基于科学的理性判别,其实也是主观label的。不过这个扯起来就远了。
上面这个完整的也许可以判断
这个只给了部分东西就很难判断是啥了(对于机器而言)
回到cifar-10
长这样的数据链接:
http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
http://www.cs.toronto.edu/~kriz/cifar-10-matlab.tar.gz
http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz
我下载了python版本。然后解压,会显示以下文件内容:
注:里面的那个CIFAR.py还有那个zip不是源文件里的,是我自己写的脚本。
有一篇可以参考的帖子:https://blog.csdn.net/jinxiaonian11/article/details/80192161
网上有很多教程,说是可以解析的,其实有点差别,因为这几年python的代码也有很多变化,开始我自己试了半天没有找到存储好的二进制文件。然后用一下代码尝试成功了。
debug的时候,要标上断点,这样才能看到自己的变量反映
这个是用spyder IDE显示出来的内容:
这个是转出来的3×32×32的图,我给拉大了,原来就是一个很小的卡车……
代码:
CIFAR-100是有更多图的库,这里简要介绍一下类别列表
参考:
https://blog.csdn.net/u013555719/article/details/79343353
这里我想强调的是,以上分类并不是严格按照sensei规则命名,因为图像分类问题不是物种分类问题,给命名的类别只是为了区分于其他类别的label,主要关注的任务本身,因此这个没有什么需要纠结的地方,不管用中文,还是拉丁文,还是印度语,实际上对于机器而言这都是一种label用的字符。
最后感谢小猴的帮忙!
实名告白,比心心。