虽然这两天状态有些差,但是断断续续的看代码还是学到了一点东西,关于python中经常用到的对象序列化反序列化以及文件的读写操作;关于tensorflow中flags.py对命令行参数解析;以及对ubuntu系统安装的psensorCPU/GPU温度监控做一个总结,这种学到新东西的感觉真是圆满啊
序列化与反序列化
做分类分割模型的训练时,都不可能通过一张张图片训练集直接操作的,大部分情况下是对图片的灰度值进行操作;灰度值数据存入文件中,我们不可能单纯通过file.read()
或者file.readline()
读取,很慢还麻烦;更多时候,我们是通过cPickle.load()
将文件数据反序列化后存入对象,然后对对象(list或者tuple或者dict)进行切片操作选取部分数据或者其他操作,这样大大提高速度。
同样,当有些参数如weight/bias等需要保留至磁盘时,同样可以通过cPickle.dump()
将数据对象序列化后存入文件。
具体示例如下:
经过上述操作后,根目录下出现一个test.txt文件,打开文件如下图2所示,由于以二进制方式写,所以通过文本方式打开为乱码;实际上,反序列化后查看对象,数据不会有任何问题
图1 为在根目录创建的test.txt文件图2 为打开test.txt文件后显示内容
|
tensorflow中的命令行解析
我们经常看到,在ubuntu的terminal下python xxx.py
时后面有时候会跟一些参数,如python xxx.py --name= 'yann'
,事实上,这种在命令行下给入参数的方式是通过tensorflow.flags
的方式进行操作的。test_flag.py
文件如下:
在terminal下执行:
具体实施还是看代码注释,解释比较清楚了。不懂的东西就要多看两遍。关于tensorflow中命令行参数解析就是这样,其实可以理解为c语言中,# define name 'yann'
psensor温度监控安装
安装psensor不仅仅是在安装psensor,还有m-sensors和hddtemp,各种硬件的温度监控包;安装时在进行sudo sensors-detect
时有询问的一律yes就可以;最后全部完成最好重启一下系统。
OK,今天的总结就这些;
状态不好的时候就要耐住性子看东西,很快状态就好了!