首先说明我锁使用的是来自github的版本:
https://github.com/eriklindernoren/PyTorch-YOLOv3
大概也许会持续记录吧。。。我懒
记于2019.11.07
我的环境是
Package | Version |
---|---|
Pillow | 6.2.1 |
pip | 19.3.1 |
tensorflow-gpu | 2.0.0 |
torch | 1.3.0 |
torchvision | 0.4.1 |
tqdm | 4.36.1 |
terminaltables | 3.1.0 |
如果你碰到这个问题:
File “pytorch_platform/PyTorch-YOLOv3/utils/logger.py”, line 7, in init
self.writer = tf.summary.FileWriter(log_dir)
AttributeError: module ‘tensorboard.summary._tf.summary’ has no attribute ‘FileWriter’
那么你可以尝试使用tensorflow2.0的升级脚本操作一下:
tf_upgrade_v2 --infile logger.py --outfile logger.py
不过十有八九还是有问题,我为了跑通网络直接在train.py中把所有的loger注释掉了。。。
如果你碰到这个讨厌的问题:
UserWarning: indexing with dtype torch.uint8 is now deprecated, please use a dtype torch.bool instead
将model.py的191行,添加如下两句
obj_mask=obj_mask.bool() # convert int8 to bool
noobj_mask=noobj_mask.bool() #convert int8 to bool
改完之后训练就是这样的啦
---- [Epoch 0/100, Batch 48/58632] ----
+------------+--------------+--------------+--------------+
| Metrics | YOLO Layer 0 | YOLO Layer 1 | YOLO Layer 2 |
+------------+--------------+--------------+--------------+
| grid_size | 14 | 28 | 56 |
| loss | 5.616557 | 6.428126 | 12.861836 |
| x | 0.084134 | 0.053126 | 0.106777 |
| y | 0.096309 | 0.087426 | 0.054314 |
| w | 0.489871 | 0.298798 | 0.676306 |
| h | 0.138098 | 0.316878 | 0.555535 |
| conf | 4.742588 | 5.585589 | 11.308529 |
| cls | 0.065557 | 0.086308 | 0.160376 |
| cls_acc | 6.67% | 6.25% | 6.25% |
| recall50 | 0.000000 | 0.000000 | 0.000000 |
| recall75 | 0.000000 | 0.000000 | 0.000000 |
| precision | 0.000000 | 0.000000 | 0.000000 |
| conf_obj | 0.030569 | 0.045765 | 0.107265 |
| conf_noobj | 0.010022 | 0.024203 | 0.086377 |
+------------+--------------+--------------+--------------+
Total loss 24.90652084350586
---- ETA 8:19:09.476121
2019.11.08
如果你电脑运行的时候提示 out of memery,请把batch_size改小。默认是8
在train.py中
parser.add_argument("--batch_size", type=int, default=8, help="size of each image batch")
以2080Ti为例,默认显存占用将近9个G
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/09d21a4e7e3bc2935774084dfd122469.png)
2019.11.12
训练Coco数据集开始一段时间后报错:
OSError: image file is truncated (9 bytes not processed)
在dataset.py中添加如下代码:
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True
2019.11.12-2
将tensorflow版本降回到1.15,logger的错误能解决。
可以记录训练过程的参数了