1. import os
这个包在加载数据时有很大作用,特别是在处理类似图像的问题时,这个包能发挥巨大的作用;
比较常用的就是两个函数:
1. os.listdir() 传入文件路径时,我们可以返回每个子文件的名字;
2. os.path.join() 将大文件的名字与子文件名字连在一起,为啥这么做?? 为了获取每个子文件的每张图像的路径。。后续就通过 imread()函数读取到相应的图像。
2. import glob
这个函数与上面的 import os具有类似的作用,但这有点一步到位的意思;
# Get the list of all the images
normal_cases = normal_cases_dir.glob('*.jpeg')
上面代码中, 如果把normal_cases_dir看做一个子文件夹,比如猫的子文件夹,该子文件夹下肯定包含若干张猫的照片,这里只需要使用glob函数就可以直接加载该文件夹下所有的图片了,normal_cases 返回是图片名字的列表,从根目录到每个图片的子目录。同样可以通过imread, imshow等函数可以实现图片的加载与可视化等一系列操作;
3. from keras.utils import to_categorical
这个是将标签one-hot编码的函数,将标签归一化可以手工进行完成,我们也可以将标签直接数字化,在编译函数compile()的参数
loss = "sparse_categorical_crossentropy"直接处理。
但是如果手动one-hot编码,也非常简单。
所以我们将其离散数字one-hot编码时,只需要传入y(label)与 num_classes(我们要分为多少各类,可选参数)
独热编码在拟合神经网络时是非常必要的,他消除了神经网络标签的数值大小的差异,避免了神经网络的小题大做。