key1

import os

g = os.walk(r'D:\Users\Quincy_C\PycharmProjects\S6')
print(next(g))
print(next(g))

第一次next结果:

得到的结果是是一个元组,元组的第一个元素是输入的文件路径,第二个元素是当前路径下所有的文件夹组成的列表,第三个元素是当前路径下所有文件组成的列表:
(‘D:\Users\Quincy_C\PycharmProjects\S6’, [‘.idea’, ‘socket并发’, ‘socket编程’, ‘pycache‘, ‘互斥锁’, ‘并发’, ‘序列化与反序列化’], [‘logging模块.py’, ‘os.walk()用法.py’])
第二次next结果

(‘D:\Users\Quincy_C\PycharmProjects\S6\.idea’, [‘inspectionProfiles’, ‘scopes’], [‘.name’, ‘encodings.xml’, ‘misc.xml’, ‘modules.xml’, ‘S6.iml’, ‘vcs.xml’, ‘workspace.xml’])
这次会进到当前文件夹下的第一个子文件夹进行遍历,得到第一个子文件夹路径以及该子文件夹下的文件夹和文件
依次类推=—>

 

--------------------------------------------------------------------------------------------------------------------------------------

http://www.sohu.com/a/198572539_697750

图片数据的扩增

datagen = image.ImageDataGenerator(rescale= 1/255, width_shift_range=0.1)

rescale的作用是对图片的每个像素值均乘上这个放缩因子,这个操作在所有其它变换操作之前执行,在一些模型当中,直接输入原图的像素值可能会落入激活函数的“死亡区”,因此设置放缩因子为1/255,把像素值放缩到0和1之间有利于模型的收敛,避免神经元“死亡”。

图片经过rescale之后,保存到本地的图片用肉眼看是没有任何区别的,如果我们在内存中直接打印图片的数值,可以看到以下结果:

 

datagen = image.ImageDataGenerator(fill_mode='wrap', zoom_range=[4, 4])

fill_mode为填充模式,如前面提到,当对图片进行平移、放缩、错切等操作时,图片中会出现一些缺失的地方,那这些缺失的地方该用什么方式补全呢?就由fill_mode中的参数确定,包括:“constant”、“nearest”(默认)、“reflect”和“wrap”。这四种填充方式的效果对比如图18所示,从左到右,从上到下分别为:“reflect”、“wrap”、“nearest”、“constant”。

 

----------------------------------------------------------------------------------------------------------------------------------------

rle_encoding(x):
  • In order to reduce the submission file sizes, this competition uses run-length encoding (RLE) on the pixel values.  
一种压缩过的位图文件格式,RLE压缩方案是一种极其成熟的压缩方案,特点是无损失压缩,既节省了磁盘空间又不损失任何图像数据。
游程编码是一种统计编码,该编码属于无损压缩编码。对于二值图有效。其在对图像数据进行编码时,沿一定方向排列的具有相同灰度值的像素可看成是连续符号,用字串代替这些连续符号,可大幅度减少数据量。
 
-----------------------------------------------------------------------------------------------------------------------------------------

http://blog.csdn.net/hewb14/article/details/53414068

如果想在Keras中自定义各种层和函数,一定会用到的就是backend。一般导入的方法是

 from keras import backend as K

这是因为Keras可以有两种后台,即theano和tensorflow,所以一些操作张量的函数可能是随后台的不同而不同的,通过引入这个backend,就可以让Keras来处理兼容性。

比如求x的平均,就是K.mean(x)。backend文件本身在keras/backend文件夹下,可以通过阅读代码来了解backend都支持哪些操作。backend里面函数很多

-----------------------------------------------------------------------------------------------------------------------------------------

http://blog.csdn.net/star_bob/article/details/48598417

optimizer: str (优化函数的名称) 或者优化对象

verbose: 0 表示不更新日志, 1 更新日志, 2 每个epoch一个进度行.

-----------------------------------------------------------------------------------------------------------------------------------

x = np.array([[[0], [1], [2]]])
print(x)
"""
x=
[[[0] [1] [2]]] """ print(x.shape) # (1, 3, 1) x1 = np.squeeze(x) # 从数组的形状中删除单维条目,即把shape中为1的维度去掉
print(x1) # [0 1 2] print(x1.shape) # (3,)
------------------------------------------------------------------------------