|
| 1 | + |
| 2 | +# 微调模型 |
| 3 | + |
| 4 | +本工程通过`PyTorch`库进行卷积网络训练,其微调实现参考[迁移学习](https://blog.zhujian.life/posts/c7511b44.html) |
| 5 | + |
| 6 | +## 预训练模型 |
| 7 | + |
| 8 | +`PyTorch`提供了`AlexNet`的预训练模型 |
| 9 | + |
| 10 | +## python文件 |
| 11 | + |
| 12 | +* 微调实现:`py/finetune.py` |
| 13 | +* 自定义微调数据集类:`py/utils/data/custom_finetune_dataset.py` |
| 14 | +* 自定义批量采样器类:`py/utils/data/custom_batch_sampler.py` |
| 15 | +* 辅助函数:`py/utils/util.py` |
| 16 | + |
| 17 | +## 训练参数 |
| 18 | + |
| 19 | +* 批量处理:每次训练`128`个图像,其中`32`个正样本,`96`个负样本 |
| 20 | +* 输入模型图像:缩放到`(227, 227)`,随机水平翻转,进行归一化操作 |
| 21 | +* 优化器 |
| 22 | + * 使用`SGD`:学习率为`1e-3`,动量大小为`0.9` |
| 23 | + * 随步长衰减:每隔`7`轮衰减一次,衰减因子为`0.1` |
| 24 | +* 迭代次数:`25`轮 |
| 25 | + |
| 26 | +## 训练结果 |
| 27 | + |
| 28 | +``` |
| 29 | +$ python finetune.py |
| 30 | +... |
| 31 | +... |
| 32 | +Epoch 0/24 |
| 33 | +---------- |
| 34 | +train Loss: 0.1906 Acc: 0.9163 |
| 35 | +val Loss: 0.3662 Acc: 0.8692 |
| 36 | +
|
| 37 | +Epoch 1/24 |
| 38 | +---------- |
| 39 | +train Loss: 0.1204 Acc: 0.9499 |
| 40 | +val Loss: 0.4081 Acc: 0.8701 |
| 41 | +
|
| 42 | +Epoch 2/24 |
| 43 | +---------- |
| 44 | +train Loss: 0.0958 Acc: 0.9608 |
| 45 | +val Loss: 0.4002 Acc: 0.8719 |
| 46 | +
|
| 47 | +Epoch 3/24 |
| 48 | +---------- |
| 49 | +train Loss: 0.0825 Acc: 0.9663 |
| 50 | +val Loss: 0.4505 Acc: 0.8725 |
| 51 | +
|
| 52 | +Epoch 4/24 |
| 53 | +---------- |
| 54 | +train Loss: 0.0726 Acc: 0.9707 |
| 55 | +val Loss: 0.5031 Acc: 0.8697 |
| 56 | +
|
| 57 | +Epoch 5/24 |
| 58 | +---------- |
| 59 | +train Loss: 0.0662 Acc: 0.9733 |
| 60 | +val Loss: 0.5340 Acc: 0.8681 |
| 61 | +
|
| 62 | +Epoch 6/24 |
| 63 | +---------- |
| 64 | +train Loss: 0.0611 Acc: 0.9754 |
| 65 | +Qval Loss: 0.5102 Acc: 0.8714 |
| 66 | +
|
| 67 | +Epoch 7/24 |
| 68 | +---------- |
| 69 | +train Loss: 0.0505 Acc: 0.9799 |
| 70 | +val Loss: 0.5529 Acc: 0.8725 |
| 71 | +
|
| 72 | +Epoch 8/24 |
| 73 | +---------- |
| 74 | +train Loss: 0.0489 Acc: 0.9806 |
| 75 | +val Loss: 0.5540 Acc: 0.8728 |
| 76 | +
|
| 77 | +Epoch 9/24 |
| 78 | +---------- |
| 79 | +train Loss: 0.0479 Acc: 0.9810 |
| 80 | +val Loss: 0.5818 Acc: 0.8717 |
| 81 | +
|
| 82 | +Epoch 10/24 |
| 83 | +---------- |
| 84 | +train Loss: 0.0465 Acc: 0.9815 |
| 85 | +val Loss: 0.5819 Acc: 0.8727 |
| 86 | +
|
| 87 | +Epoch 11/24 |
| 88 | +---------- |
| 89 | +train Loss: 0.0452 Acc: 0.9821 |
| 90 | +val Loss: 0.5765 Acc: 0.8732 |
| 91 | +
|
| 92 | +Epoch 12/24 |
| 93 | +---------- |
| 94 | +train Loss: 0.0456 Acc: 0.9819 |
| 95 | +val Loss: 0.5957 Acc: 0.8725 |
| 96 | +
|
| 97 | +Epoch 13/24 |
| 98 | +---------- |
| 99 | +train Loss: 0.0449 Acc: 0.9823 |
| 100 | +val Loss: 0.5857 Acc: 0.8724 |
| 101 | +
|
| 102 | +Epoch 14/24 |
| 103 | +---------- |
| 104 | +train Loss: 0.0438 Acc: 0.9827 |
| 105 | +val Loss: 0.5943 Acc: 0.8723 |
| 106 | +
|
| 107 | +Epoch 15/24 |
| 108 | +---------- |
| 109 | +train Loss: 0.0442 Acc: 0.9823 |
| 110 | +val Loss: 0.5874 Acc: 0.8730 |
| 111 | +
|
| 112 | +Epoch 16/24 |
| 113 | +---------- |
| 114 | +train Loss: 0.0443 Acc: 0.9824 |
| 115 | +val Loss: 0.5950 Acc: 0.8720 |
| 116 | +
|
| 117 | +Epoch 17/24 |
| 118 | +---------- |
| 119 | +train Loss: 0.0437 Acc: 0.9828 |
| 120 | +val Loss: 0.5945 Acc: 0.8729 |
| 121 | +
|
| 122 | +Epoch 18/24 |
| 123 | +---------- |
| 124 | +train Loss: 0.0434 Acc: 0.9828 |
| 125 | +val Loss: 0.5975 Acc: 0.8725 |
| 126 | +
|
| 127 | +Epoch 19/24 |
| 128 | +---------- |
| 129 | +train Loss: 0.0435 Acc: 0.9827 |
| 130 | +val Loss: 0.5900 Acc: 0.8730 |
| 131 | +
|
| 132 | +Epoch 20/24 |
| 133 | +---------- |
| 134 | +train Loss: 0.0432 Acc: 0.9828 |
| 135 | +val Loss: 0.5922 Acc: 0.8730 |
| 136 | +
|
| 137 | +Epoch 21/24 |
| 138 | +---------- |
| 139 | +train Loss: 0.0426 Acc: 0.9832 |
| 140 | +val Loss: 0.5977 Acc: 0.8720 |
| 141 | +
|
| 142 | +Epoch 22/24 |
| 143 | +---------- |
| 144 | +train Loss: 0.0426 Acc: 0.9832 |
| 145 | +val Loss: 0.5974 Acc: 0.8726 |
| 146 | +
|
| 147 | +Epoch 23/24 |
| 148 | +---------- |
| 149 | +train Loss: 0.0435 Acc: 0.9828 |
| 150 | +val Loss: 0.6019 Acc: 0.8718 |
| 151 | +
|
| 152 | +Epoch 24/24 |
| 153 | +---------- |
| 154 | +train Loss: 0.0432 Acc: 0.9828 |
| 155 | +val Loss: 0.5996 Acc: 0.8718 |
| 156 | +
|
| 157 | +Training complete in 461m 14s |
| 158 | +Best val Acc: 0.873228 |
| 159 | +``` |
0 commit comments