Udacity DL CNN Dog_Project Note

  1. 当显示cuda内存不够的时候,可以尝试减少batch的数量
  2. 当出现“cuda runtime error (59)”时,有可能是网络的最后一层输出的数量比数据集的label少。(最后一层的输出数量多于数据集的时候不会报错,因为训练的时候由于不存在多出来的label,多出来的输出神经元就等于没训练)
  3. train的时候用model.train(), test和valid的时候用model.eval()
  4. 记得每个batch要将梯度归零:optimizer.zero_grad()
  5. tranfer learning的时候不需要再训练feature层:model.feature
  6. 当训练的loss降低很慢的时候,可以适当提高learning rate(尤其是用了batch normalization之后,可以大胆提高learning rate。
  7. 使用SGD optimizer,不加momentum的训练准确率为25%,加momentum = 0.9准确率为41%。(使用了batch normalization,这样我们可以使learn rate更大一点,这里取0.1)

猜你喜欢

转载自www.cnblogs.com/bourne_lin/p/Udacity-CNN-DogProject-Note.html
DL
今日推荐