本科生的卷积神经网络修炼历程---spyder下编译

先说一下本人,一个大二开始接触神经网络的本科生,经过了一年的学习,从Matlab到Python,从BP到二维卷积,逐渐对神经网络有了一定的了解,但是对于理论知识这一块,还是相对薄弱。另外,因为Python有关CNN的源码非常多,所以我是借鉴了很多前辈的代码,希望接下来的时间可以亲手敲出属于自己风格的代码。我认为,一个刚学CNN的小白在前人基础上,发现问题一定要记录下来,这是你学习的记录。以下是我在3月份做CNN时遇到的比较重要的问题,有一些问题经过调试、修改后没有记录,非常可惜。
一、Spyder环境下的卷积神经网络编译
我使用的是基于tensorflow(cpu版本)的keras学习库,另需要的包有sklearn、pandas、numpy、h5py,安装完Anaconda3.5版本后,里面是没有keras、tensorflow、sklean的,所以第一步需要到Anaconda prompt下安装这些包,利用conda install即可,

二、keras模型可视化plot_model模块调用报错
问题:
①ImportError: Failed to import pydot. Please install pydot. For example with pip install pydot.
解决:进入anaconda prompt,执行:pip insatll pydot
②keras ImportError: Failed to import pydot. You must install pydot and graphviz for pydotprint to work.
解决:conda install graphviz

本科生的卷积神经网络修炼历程---spyder下编译_第1张图片

三、h5py读写数据
(1)怎么读取.h5文件数据
训练后,可以得到一个后缀为.h5格式的文件,里面包含了每一层的偏置和卷积核,我想要查看里面的数据却不知怎么查看,网上相关的资料很少,几经波折看到了这篇文章https://www.jianshu.com/p/431cd13f356b,成功对文件进行读取
本科生的卷积神经网络修炼历程---spyder下编译_第2张图片
(2)读取文件后以.csv格式保存
本科生的卷积神经网络修炼历程---spyder下编译_第3张图片
出现:ValueError: Expected 1D or 2D array, got 4D array instead
错误行:conv2d_1_kernel = conv2d_1[‘kernel:0’][:]
我的h5文件数据
在这里插入图片描述
解决方法:
①参考https://www.cnblogs.com/–wwwww/p/10476238.html
②对代码进行修改如下:conv2d_1_kernel = conv2d_1[‘kernel:0’][:].reshape(1,-1)
成功运行

(3)直接查看h5文件数据
下载HDFView软件,方法:①hdf查看器(免费):http://www.upantool.com/qita/read/5853.html ②搜索https://download.csdn.net/download/qq_32674765/9254787,去找淘宝客服代下载,随便找一个下载,安装好打开需查看的文件即可
本科生的卷积神经网络修炼历程---spyder下编译_第4张图片

四、spyder布局
问题:乱点导致调试窗口不见了,或者弄到了不太美观的地方
解决:
本科生的卷积神经网络修炼历程---spyder下编译_第5张图片
选择windows layouts→选择Reset to spyder default回到初始界面
如果出现
本科生的卷积神经网络修炼历程---spyder下编译_第6张图片
将下面的窗口往右边拉过去停靠
最后:需要什么窗口在View功能找就可以

五、pandas读取数据
测试数据:只有一组
在这里插入图片描述
因为pandas读取数据时默认是忽略零起始位,所以执行:
在这里插入图片描述
会出现错误如下:
在这里插入图片描述
解决办法:把零起始位加上去就可以读取
在这里插入图片描述
成功读取。

第一次发文,非常粗糙。以后加以改进,观摩前辈的行文方式。有机会把我对CNN的理解也写下来。

你可能感兴趣的:(深度学习)