一.数据读取:
#数据分割 val_files = np.array_split(list_files, self.n_folds)
np.split() 均等分割,不均等会报错
np.array_split() 不均等分割,不会报错
#训练集和验证集 train_files = np.setdiff1d(list_files, val_files[self.fold_idx])
setdiff1d(ar1, ar2, assume_unique=False) 在ar1中但不在ar2中的已排序的唯一值。assume_unique表示如果有多个相同的值是否视为同一个。
#交叉验证 20折表示19份作为训练1份作为验证,轮20次,最后所有验证集平均结果作为评判性能指标
https://blog.csdn.net/weixin_40475450/article/details/80578943
#删除维度 tmp_data = np.squeeze(tmp_data) numpy.squeeze(a,axis = None)
1)a表示输入的数组; 2)axis用于指定需要删除的维度,但是指定的维度必须为单维度,否则将会报错;
3)axis的取值可为None 或 int 或 tuple of ints, 若axis为空,则删除所有单维度的条目;
#加入新维度 tmp_data = tmp_data[:, :, np.newaxis, np.newaxis]
np.newaxis 指定位置加入新维度,如x为5*5,x[np.newaxis, ..., np.newaxis, np.newaxis]后变成1*5*5*1*1
#加载目录下的所有文件 allfiles = os.listdir(self.data_dir)
返回该目录下所有文件名的list
#数据水平拼接 np.hstack(label_train)
np.vstack():在竖直方向上堆叠
np.hstack():在水平方向上平铺
#数据按列拼接 np.r_[x_train_data, x_temp]
np.r_是按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等。
np.c_是按行连接两个矩阵,就是把两矩阵左右相加,要求行数相等。
#打乱数据顺序 np.random.shuffle(train_data)
训练数据在训练之前一定要打乱顺序
#五步加载数据
https://blog.csdn.net/rainweic/article/details/95737315
allfiles = os.listdir(self.data_dir)