自从去年练出来第一炉丹以后就没什么进展了,最近开始报班系统学习相关知识,完成了自己的第一个模型:mobilealexnet(源码:ai_notes/MobileAlexNet.py at master · whitewatercn/ai_notes · GitHub
采用了深度可分离卷积改写了经典的alexnet,模型训练更快,效果更好
不过这些数据没有指定随机种子,也没有大样本验证,很不严谨
origin_alex
(torch) (base) whitewatercn@MadBookAir image_classification_models % python train.py --data_path /Users/whitewatercn/FennecNas/coding/diantou/1-通识/1.5-深度学习/1.5.02-基于CNN花朵识别/image_classification_models/Datasets/flower --model alexnet --device mps
Namespace(batch_size=64, data_path='/Users/whitewatercn/FennecNas/coding/diantou/1-通识/1.5-深度学习/1.5.02-基于CNN花朵识别/image_classification_models/Datasets/flower', device='mps', epochs=50, lr=0.0002, lrf=0.0001, model='alexnet', num_classes=5, seed=False, use_amp=False)
3310 images were found in the dataset.
364 images were found in the dataset.
Using 8 dataloader workers every process
[epoch1]: learning_rate:0.00020: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [01:14<00:00, 1.44s/it]
[epoch 1] train_loss: 1.517 train_acc: 0.306 val_accuracy: 0.349
[epoch2]: learning_rate:0.00020: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [01:14<00:00, 1.42s/it]
[epoch 2] train_loss: 1.258 train_acc: 0.428 val_accuracy: 0.549
[epoch3]: learning_rate:0.00020: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [01:13<00:00, 1.41s/it]
[epoch 3] train_loss: 1.150 train_acc: 0.507 val_accuracy: 0.582
[epoch4]: learning_rate:0.00020: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [01:14<00:00, 1.43s/it]
[epoch 4] train_loss: 1.039 train_acc: 0.573 val_accuracy: 0.593
[epoch5]: learning_rate:0.00020: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [01:14<00:00, 1.44s/it]
[epoch 5] train_loss: 0.990 train_acc: 0.608 val_accuracy: 0.516
mobile_alex
(torch) (base) whitewatercn@MadBookAir image_classification_models % python train.py --data_path /Users/whitewatercn/FennecNas/coding/diantou/1-通识/1.5-深度学习/1.5.02-基于CNN花朵识别/image_classification_models/Datasets/flower --model mobilealexnet --device mps
Namespace(batch_size=64, data_path='/Users/whitewatercn/FennecNas/coding/diantou/1-通识/1.5-深度学习/1.5.02-基于CNN花朵识别/image_classification_models/Datasets/flower', device='mps', epochs=50, lr=0.0002, lrf=0.0001, model='mobilealexnet', num_classes=5, seed=False, use_amp=False)
3310 images were found in the dataset.
364 images were found in the dataset.
Using 8 dataloader workers every process
[epoch1]: learning_rate:0.00020: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [01:00<00:00, 1.16s/it]
[epoch 1] train_loss: 1.398 train_acc: 0.400 val_accuracy: 0.464
[epoch2]: learning_rate:0.00020: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [00:59<00:00, 1.14s/it]
[epoch 2] train_loss: 1.111 train_acc: 0.550 val_accuracy: 0.613
[epoch3]: learning_rate:0.00020: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [00:58<00:00, 1.13s/it]
[epoch 3] train_loss: 1.002 train_acc: 0.605 val_accuracy: 0.640
[epoch4]: learning_rate:0.00020: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [01:02<00:00, 1.20s/it]
[epoch 4] train_loss: 0.917 train_acc: 0.642 val_accuracy: 0.673
[epoch5]: learning_rate:0.00020: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [00:58<00:00, 1.13s/it]
[epoch 5] train_loss: 0.881 train_acc: 0.671 val_accuracy: 0.712
结尾
虽然我
- 算不明白每层的输入输出
- 搞不明白很多术语和代码背后的意义
但是参考资料,独立提升了现有算法的效率,我已经很开心了!