# 纪念一下第一个独立完成的炼丹配方

**URL:** <http://forum.beginner.center/t/topic/1235>\
**Category:** 🛠工具与编程\
**Created:** [2024 年7 月 15 日 04:33 UTC](http://forum.beginner.center/t/topic/1235 "2024-07-15T04:33:20Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![doggie](http://forum.beginner.center/user_avatar/forum.beginner.center/doggie/32/550_2.png) [@doggie](http://forum.beginner.center/u/doggie)\
**Post date:** [2024 年7 月 15 日 04:33 UTC](http://forum.beginner.center/t/topic/1235/1 "2024-07-15T04:33:20Z")

</div>

自从去年[练出来第一炉丹](https://forum.beginner.center/t/topic/485)以后就没什么进展了，最近开始报班系统学习相关知识，完成了自己的第一个模型：mobilealexnet（源码：[ai\_notes/MobileAlexNet.py at master · whitewatercn/ai\_notes · GitHub](https://github.com/whitewatercn/ai_notes/blob/master/MobileAlexNet.py)

采用了[深度可分离卷积](https://forum.beginner.center/t/topic/1226)改写了经典的alexnet，模型训练更快，效果更好

> 不过这些数据没有指定随机种子，也没有大样本验证，很不严谨

# origin\_alex

```auto
(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

```auto
(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

```

# 结尾

虽然我

- 算不明白每层的输入输出
- 搞不明白很多术语和代码背后的意义

但是参考资料，独立提升了现有算法的效率，我已经很开心了！
