一个例子
比如输入图片是28*28的单通道图片,其输入shape为[batch_size, 28, 28, 1];
第一层卷积为32个5*5卷积核,其shape为[5,5,1,32],其步长strides为[1,1,1,1],紧接着是第一层的2*2的max_pooling,其形状为[1,2,2,1],其步长strides为[1,2,2,1];
第二层卷积为64个5*5卷积核,其shape为[5,5,32,64],其步长strides为[1,1,1,1],紧接着是第一层的2*2的max_pooling,其形状为[1,2,2,1],其步长strides为[1,2,2,1];
padding全部使用SAME;
那么图像的尺寸经过以上两次卷积,两次池化后的变化如下:
[batch_size, 28, 28, 1]
↓ (第一层卷积)
[batch_size, 28, 28, 32]
↓ (第一层池化)
[batch_size, 14, 14, 32]
↓ (第二层卷积)
[batch_size, 14, 14, 64]
↓ (第二层池化)
[batch_size, 7, 7, 64]
如果上述所有的卷积核,池化核以及步长都保持不变,但是全部使用VALID模式,那么尺寸变化如下:
[batch_size, 28, 28, 1]
↓ (第一层卷积)
[batch_size, 24, 24, 32]
↓ (第一层池化)
[batch_size, 12, 12, 32]
↓ (第二层卷积)
[batch_size, 8, 8, 64]
↓ (第二层池化)
[batch_size, 4, 4, 64]
CNN模型保存
如何保存训练好的神经网络直接进行测试-TensorFlow模型持久化
tensorflow 1.0 学习:模型的保存与恢复(Saver)
tensorflow学习笔记四:mnist实例--用简单的神经网络来训练和测试
tensorflow学习笔记五:mnist实例--卷积神经网络(CNN)
TensorFlow教程03:针对机器学习初学者的MNIST实验——回归的实现、训练和模型评估 解释的清楚
TensorFlow教程05:MNIST深度学习初探 CNN
汐月教育之理解TensorFlow(三.1)构建简单的BP神经网络+softmax多分类进行MNIST识别
我的机器学习梦想之旅(4)-mnist模型训练与识别自己书写数字的实战
安装完会推荐安装visualstudio
安装完成后关闭Terminal, 再重新打开后,使用conda --version可以看到结果,否则先显示未知命令
TensorFlow 学习系列之四:配置TensorFlow环境
更正:两处少空格
1,conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
2,conda info --envs
TensorFlow学习系列之七:TensorFlow的源码编译
sudo apt-get update; sudo apt-get install oracle-java8-installer
sudo apt-get update; sudo apt-get install bazel
下面这行没做
bazel build -c opt --jobs 1 --local_resources 2048,0.5,1.0 --verbose_failures //tensorflow/tools/pip_package:build_pip_package
这里的单类别是指,每一张图像样本只能有一个类别,比如只能是狗或只能是猫。
这里的多类别是指,每一张图像样本可以有多个类别,比如同时包含一只猫和一只狗
损失函数(Loss function)和代价函数(成本函数)(Cost function)的区别与联系
1.损失函数(Loss function)是定义在单个训练样本上的,也就是就算一个样本的误差,比如我们想要分类,就是预测的类别和实际类别的区别,是一个样本的哦,用L表示
2.代价函数(Cost function)是定义在整个训练集上面的,也就是所有样本的误差的总和的平均,也就是损失函数的总和的平均,有没有这个平均其实不会影响最后的参数的求解结果。
简单的Tensorflow(3):使用feed_dict字典填充
原文: Tensorflow: The Confusing Parts (1)
Visualizing MNIST: An Exploration of Dimensionality Reduction
网友评论