tensorflow cnn 特征提取

1.tensorflow是静态流程图,先搭建好模型图,然后再让数据流通,流通的过程中才能得到中间值。

2.cnn原本是对图片进行特征提取的,在自然语言处理中,文本通过word2vec技术也可以转换成“图片”的样子。

3.目标:理解一下cnn的工作,以及在tensorflow里怎么调用实现。

4.cnn可是使用GPU提速,os.environ["CUDA_VISIBLE_DEVICES"]=2 # 设置使用的GPU,但本文不适用GPU。


完整代码:tensorflow cnn 特征提取(代码)

1)数据集准备

黑白图片:[w, h]    彩色图片:[w, h, c]

X=[batch_size, w, h, c]     有batch_size张图片,图片形状是[w, h, c]

Y=[batch_size,  y]  batch_size张图片都对应一个标签y,目前此处为二分类

其中,np.random.uniform(low, high, size) 从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high。 np.random.randint(low, high, size) [0,2)整数,即二分类:0,1      [0,10)整数,即10分类:0,1,2,3,4,5,6,7,8,9

tensorflow cnn 特征提取_第1张图片

2)图模型搭建---模型输入,占位符建立

tensorflow cnn 特征提取_第2张图片

3)模型搭建---定义cnn相关的参数初始化、卷积、池化函数

tensorflow cnn 特征提取_第3张图片

4)模型搭建---cnn模型具体化

创建一个会话 with tf.Session() as sess:   就可以边搭建模型,边查看每个中间变量的shape和value了。  下图是一个卷积+激活函数处理的过程。

tensorflow cnn 特征提取_第4张图片

池化处理

tensorflow cnn 特征提取_第5张图片

扁平化处理+全连接处理

tensorflow cnn 特征提取_第6张图片

完整代码:tensorflow cnn 特征提取(代码)

你可能感兴趣的:(tensorflow cnn 特征提取)