摘要:
加快Pytorch训练速度 num_workers num_worker=0表示只用主进程读取数据, num_worker=4/8表明使用额外的4/8子进程读取数据 一般来说,增大num_worker可以增加GPU的利用率,从而加快训练的速度。 但是有时候即使增大num_worker也无法提高GPU 阅读全文
摘要:
人脸关键点识别 网络结构 基于回归:resnet或者MobileNet在global average pooling层后直接增加全连接层,输出为人脸关键点 损失函数 L1 loss:绝对值之差 MSE loss:均方差误差 SmoothL1:改进后的L1损失(见pytorch doc) Wing l 阅读全文
摘要:
"参考" 在pytorch中计算KLDiv loss 注意reduction='batchmean',不然loss不仅会在batch维度上取平均,还会在概率分布的维度上取平均。具体见 "官方文档" 阅读全文
摘要:
在pytorch中load模型,出现CUDA ERROR:out of memory,基本有下面三个原因: CUDA显存不足 解决办法:换成显存更大的显卡 显卡被占用 当存在多个显卡时,pytorch默认使用0号显卡,当0号显卡被占用时,即使1号显卡空闲仍然会报错 解决办法:让其他显卡不可见,此时0 阅读全文
摘要:
在训练人脸属性网络时,发现在优化器里增加weight_decay=1e-4反而使准确率下降 pytorch论坛里说是因为pytorch对BN层的系数也进行了weight_decay,导致BN层的系数趋近于0,使得BN的结果毫无意义甚至错误 当然也有办法不对BN层进行weight_decay, 详见p 阅读全文
摘要:
"参考" 第一种方法:在构建model的时候return对应的层的输出 第2中方法:当模型用Sequential构建时,则让输入依次通过各个模块,抽取出自己需要的输出 阅读全文
摘要:
keras中提取每一层的系数 建立一个keras模型 返回所有层的权重系数,并保存成numpy array 得到具体某一层的权重系数 对于BN层,layer.get_weights()返回一个list,为 "gamma, beta, mean, std]四个array, 见[stackoverflo 阅读全文