此文转载自:https://blog.csdn.net/sinat_36458870/article/details/100035630
文章目录
基础知识
- 传统图像处理基本知识
从传统图像处理基本知识可以明白为什么卷积神经网络是有效的。 - 数学统计基础可视化学习
人工智能自学之路
1. 人工智能、机器学习、深度学习的关系
2. 数据集—需求
-
CIFAR-10:
CIFAR-10数据集包含10个不同类,的60,000张32x32彩色图像,有50000个训练图和10000个测试图。 -
CIFAR-100:
Cifar-100数据集包含有100个类,的60000张32X32彩色图片,每个分类包含500-1000,600张图片500-100。 -
Tiny Images: 该数据集由79,302,017个图像组成,每个图像为32x32彩色图像(500G);
-
ImageNet-ILSVRC(Large Scale Visual Recognition Challenge)
AI研究员Fei-Fei Li,手工注释了超过1400万个图像,并且在至少100万个图像中,还提供了边界框。
ImageNet包含超过20,000个具有典型类别的类别,88、3232和64*64。 -
COCO 数据集
COCO数据集是微软团队获取的一个可以用来图像识别、分割、标注,数据集.
330K图像、80个对象类别、每幅图像有5个标签、25万个关键点
3. 深度学习平台比较
https://en.wikipedia.org/wiki/Comparison_of_deep-learning_software
4. 训练过程可视化
https://playground.tensorflow.org/
很好用:https://cs.stanford.edu/people/karpathy/convnetjs/
http://vision.stanford.edu/teaching/cs231n/index.html
http://neuralnetworksanddeeplearning.com/chap4.html
http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/
5. 经典训练案例
通过python 训练 mnist:
TensorFlow: MNIST for beginners step by step:
Handwritten Digit Recognition using Convolutional Neural Networks in Python with Keras
训练通用规则
1. 设置目标
基于CIFAR-10数据集,训练一个简单CNN网络;保存训练好的模型,测试;使用GPU训练;
2. 准备数据集
所有人工智能数据集总结
加拿大高级研究所CIFAR-X 系列数据集解析
找数据,打标签,数据增强,预处理,现在一般都直接用现有的数据;例如:CIFAR-10
3. 模型搭建
定义网络—设置损失函数,优化迭代方法
4. 训练网络与测试
实际的和标签的差就是loss
5. 保存模型
-
cfair10.pth(pytorch)
:
多 GPU 训练的方法是使用 torch.nn.DataParallel -
model.ckpt
:—>>>checkpoint
xxx.ckpt.data-0000-of-00001
权重;
xxx.ckpt.meta
图结构;
xxx.ckpt.index
权重节点索引) -
model_deploy.prototxt
(描述了网络结构和数据集信息); -
train_iter_100.caffemodel
(权重)
6. 验证模型
拿些没有用过的图,去用训练好的模型。
7. 评价模型的方法
待上传
例如输出一个模糊矩阵