一,全连接,部分连接,卷积网络
1,深度学习中对于图片处理,全连接网络由于参数过多,会导致计算量巨大,不方便训练;
于是就有了局部连接的网络,如下图

2,但是局部连接无法有效地读取图片的特征
于是又有了卷积网络,利用卷积核对图片进行全局取样,如下图所示

这里的卷积跟之前介绍的卷积还是有一定差别的,这不在本文讨论范围
二,深度学习中的卷积神经网络主要分量两部分
1,利用卷积核对图片进行全局扫描,提取特征,并共享权值

2,利用池化操作降低图片的维度,同时保留主要特征

关于卷积神经网络更详细的介绍:
http://www.hackcv.com/index.php/archives/104/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
Tensorflow 有卷积神经网络CNN识别手写数字图片的例子,已有人翻译得很好了
http://blog.csdn.net/sinat_33761963/article/details/57416517
我在跑测试例子的时候报错:
Resource exhausted: OOM when allocating tensor with shape[10000,28,28,32]
这是因为在跑测试数据时,一次性计算量太大导致内存溢出了,解决方法:
# 一次性计算的张量太大,导致内存溢出,换种方式计算 #print('test accuracy %g' % accuracy.eval(feed_dict={ # x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0})) # 共有 10000 个测试数据,每次执行 1000 个,分开 10 次执行 # 将多次结果保存到 list 中,再求平均值 accuracyResult=list(range(10)) for i in range(10): batch = mnist.test.next_batch(1000) accuracyResult[i]=accuracy.eval(feed_dict={ x: batch[0], y_: batch[1], keep_prob: 1.0}) print('test accuracyResult i : %s , v : %s' % (i,accuracyResult[i])) print('test accuracyResult average : %g' % np.mean(accuracyResult))
Leave a Reply