reshape(-1),应该相当于把所有的值都列出来,列成一个向量。和reshape(1,-1)有差别。
np.zeros(),参数个数代表维数,参数的值代表在某一维上的长度。生成零矩阵的意义是预先分配内存,加快处理速度。
[-1]指取倒数第一个元素,如果所取的数组是二维的,则取的是该数组最后一行;[:-1]指从第一个到倒数第一个的前一个;
np.mean(,0),对各列求均值得到一行;np.mean(,1),对各行求均值得到一列;range( , ,),第一个参数是起始数,第二个是终止数,第三个是间隔;
datetime.datetime.now():获取当前时间。datetime.timedelta(),里面可以接参数days/hours/minutes/seconds= 。
numpy.int,取整数部分。python运算符号%:取余数;.append,向数组后面追加元素。.round(,),四舍五入,第二个参数表示四舍五入取到多少位,缺省为取1位。
keras.ModelCheckpoint:这个函数是callbacks函数集中的一个,callback是回调函数,用来观察训练过程中网络内部的状态和统计信息,调用fit()函数时,可以将Modelcheckpoint传给训练过程。modelcheckpoint用来检查模型权重的位置,文件命名,以及在什么情况下创建模型的checkpoint。
keras.callbacks.ModelCheckpoint(filepath,monitor='val_loss',verbose=0,save_best_only=False, save_weights_only=False, mode='auto', period=1) 。filepath为保存模型的路径;monitor为需要监视的值;verbose为信息展示模式,值为0或1;save_best_only,设置为true时,只保存效果最好的模型;mode为评测标准,值为max,min,auto;save_weights_only,设置为true时,只保存权重,否则保存整个模型。period为checkpoint之间所间隔的epoch数。
keras.sequential.fit(self, x, y, batch_size=32, epochs=10, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0).
fit参数详解,x为输入的训练数据,y为训练数据的label标签,batch_size是梯度下降时每个batch所包含的样本数,当训练终止时所达到的epochs值,verbose为日记显示,0为不输出日记信息,1为输出进度条信息,2为每个epoch输出一行记录;callbacks中的元素是keras.callbacks.callback的对象,validation_split是验证集的比例,validation_data是指定的验证集,将覆盖validation_split;shuffle一般是布尔值,表示是否打乱输入样本的顺序,若为"batch",则为处理hdf5数据的情况,将在batch中打乱;class_weight,分类时,分错的惩罚会比较大,所以权重会提高,用来调整损失函数;sample_weight用于调整损失函数;从initial_epoch指定的epoch开始训练。
fit函数返回一个History的对象,其History.history属性记录了损失函数和其他指标的数值随epoch变化的情况,如果有验证集的话,也包含了验证集的这些指标变化情况。