CIFAR-10代码学习笔记01

1.pickle模块

def unpickle(file):
    
    with open(file, 'rb') as fo:
        dict = pickle.load(fo, encoding='bytes')
    return dict
  • open函数:open(file, ‘rb’)

    • file :必需,文件路径(相对或者绝对路径)
    • ‘rb’ :以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
    • open函数
  • pikle模块:模块 pickle 实现了对一个 Python 对象结构的二进制序列化和反序列化(用于python特有的类型和python的数据类型间进行转换)

    • pickle.load(file,encoding=“ASCII”) : 默认encoding方式“ASCII”,这里要改成“bytes”

———————————————————————————————————————————————————————

2.(numpy数组操作)reshape,transpose,astype

n = len(images)
images = images.reshape(n,3,32,32).transpose(0,2,3,1).astype(float)/255
  • a.reshape(shape, order=‘C’)

    • order:‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序。
    • shape: 数组的形状
  • a.transpose(*axes):对于n维数组,如果给出了轴,则按其顺序指示
    轴置换;代码中的shape由(n,3,32,32)转换成了(n,32,32,3),图片的尺寸是32323 的

  • a.astype(dtype, order=‘K’, casting=‘unsafe’, subok=True, copy=True):

    • dtype: int,float…
    • order: 默认为’K’

———————————————————————————————————————————————————————

3. keras.utils.to_categorical

keras.utils.to_categorical(y, num_classes=None, dtype='float32')
  • 将类向量(整数)转换为二进制类矩阵。(用于 categorical_crossentropy)
  • 参数
    • y: 需要转换成矩阵的类矢量 (从 0 到 num_classes 的整数)。
    • num_classes: 总类别数。
    • dtype: 字符串,输入所期望的数据类型 (float32, float64, int32…)

CIFAR-10代码学习笔记01_第1张图片

你可能感兴趣的:(CIFAR-10代码学习笔记01)