wongkinyiu / pytorch_yolov4 Goto Github PK
View Code? Open in Web Editor NEWPyTorch implementation of YOLOv4
PyTorch implementation of YOLOv4
您好!之前看到您给其他人解答问题的时候说到,代码当时不支持恢复训练,那么现在新版PyTorch_YOLOv4-u5是否支持恢复训练功能?谢谢!
?????python train.py --data coco.yaml --cfg yolov4-pacsp.yaml --weights ''
are U sure????
who can tell me how to create correct txt labels from coco format labels? the txt labels I create contain many negative numbers and they are useless
Epoch gpu_mem GIoU obj cls total targets img_size
0/299 22.4G 7.7 6.39 7.86 22 254 640: 0%| | 11/7329 [00:16<3:04:14, 1.51s/it]
Class Images Targets P R [email protected] F1: 0%| | 0/313 [00:01<?, ?it/s]
Traceback (most recent call last):
File "train.py", line 412, in
train() # train normally
File "train.py", line 317, in train
dataloader=testloader)
File "/home/z50015785/PyTorch_YOLOv4-master-AUTHOR2/test.py", line 94, in test
inf_out, train_out = model(imgs, augment=augment) # inference and training outputs
ValueError: too many values to unpack (expected 2)
How to solve this error?
Thank you for your great job! Can you use yolov4.cfg from darknet for this project when train?
Hi, thank you very much for your work in Yolo, I have a question about the training time compare with AlexeyAB darknet, that is which is faster when training with the same network cfg (e.g Yolov4.cfg) and the same iterator counts, Because My computer GPU is not so good, so I'm more concerned with training time. Thank you again.
Hi,
When doing translation augmentation, I think x-translation should be computed with img.shape[1] while y-translation in the next line should be calculated with img.shape[0]
PyTorch_YOLOv4/utils/datasets.py
Line 644 in 1861063
Please correct me if I got the wrong idea.
I can't open download the weight,Can you share the weights in other way.
Traceback (most recent call last):
File "/home/jjliao/code/PyTorch_yolov4/train.py", line 415, in
train() # train normally
File "/home/jjliao/code/PyTorch_yolov4/train.py", line 373, in train
print('%g epochs completed in %.3f hours.\n' % (epoch - start_epoch + 1, (time.time() - t0) / 3600))
UnboundLocalError: local variable 'epoch' referenced before assignment
请问,这个epoch是没有定义嘛?这个需要加全局变量嘛?求解答,谢谢!
请问这个train2017.txt是需要自己制作的吗?为什么从get_coco2017.sh下载了数据集后,找不到这个文件呢?
hi, your develop log says "2020-07-13 - support MixUp data augmentation.", but i can not find any relavtive codes in dataset.py. what's wrong?
also, could you tell me whether the repo support self-adversial training in future?
Thanks for your great work! I wonder the speed and the map of the yolov4-paspp.py if the activation is replaced with mish and the imgsize is replaced with 608, which is the same as original darknet.
Besides, what are the meaning of '-s' and '-x' in the cfg files? Thank you!
Hi, what a great work. @WongKinYiu I want to know how to export a ONNX model. And does the Onnx model could run in TensorRT(which version)?
I want to re-train with last saved weights, but I got error like " The size of tensor a (32) must match the size of tensor b (128) at non-singleton dimension 0" in function optimizer.step().
Do I have to convert .pt to .weights ?
Hello, thank you for the repo :)
Could you please tell me what you are going to license this repo as and when you intend to add a LICENSE file (if at all)?
It is really great work!Thanks for your project. I try to train my dataset in Pytorch-YOLOv4 and meet three issues.
I imitated YOLOv3 to make data sets and related files, but I reported an error during training:
1.
Traceback (most recent call last):
File "C:/Users/admin/Desktop/PyTorch_YOLOv4-master/train.py", line 398, in
check_git_status()
File "C:\Users\admin\Desktop\PyTorch_YOLOv4-master\utils\utils.py", line 37, in check_git_status
s = subprocess.check_output('if [ -d .git ]; then git fetch && git status -uno; fi', shell=True).decode('utf-8')
File "C:\Users\admin\Anaconda3\lib\subprocess.py", line 336, in check_output
**kwargs).stdout
File "C:\Users\admin\Anaconda3\lib\subprocess.py", line 418, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command 'if [ -d .git ]; then git fetch && git status -uno; fi' returned non-zero exit status
I add "#" in this error line, but meet the second error
Traceback (most recent call last):
File "C:/Users/admin/Desktop/PyTorch_YOLOv4-master/train.py", line 412, in
train() # train normally
File "C:/Users/admin/Desktop/PyTorch_YOLOv4-master/train.py", line 370, in train
print('%g epochs completed in %.3f hours.\n' % (epoch - start_epoch + 1, (time.time() - t0) / 3600))
UnboundLocalError: local variable 'epoch' referenced before assignment
I add "epoch = 0" before line"for epoch in range(start_epoch, epochs)",but meet another error.
The dataset did not enter the training and training finished
链接:https://pan.baidu.com/s/1-7e1NgKVvtvVHnOHW2HYmA
提取码:eoeq
请问,为什么python train.py时,会出现这个错误呢?
I was wondering what license is associated with this repo?
Just curious if the weights shared in this repo, and model performance numbers are for model weights achieved using the training code in this repo? If yes, could you also share approximate time to train on your hardware? Thanks a lot!
今天跑通了之后,没有使用预训练权重,想要跑30epoch。
跑着突然就在4epoch时中断了,打印的日志也没有发现有出错,请问这是怎么回事呢?
Thanks a lot ! And I found some small bug like https://github.com/WongKinYiu/PyTorch_YOLOv4/blob/master/train.py#L367 should be 'epochs', and this line https://github.com/WongKinYiu/PyTorch_YOLOv4/blob/master/train.py#L138 the start_epoch will be so large if I load the pretrained models, and the training process may be skipped.
保存时giou=1.4,map=0.47,再训练一个epoch变2,map变0.364
mish_cuda支持cuda9.2和10.0,但pytorch1.5.1最低支持10.1,请问您的mish_cuda安装没问题嘛,或者说您的pytorch、cuda的版本是?
您好!我在自己的数据集上进行了训练,但是训练完,在进行测试的时候,无法加载训练好的权重文件.pt,请问这是什么原因?
Dear Profess Bochkovskiy, Profess Wang, Profess Liao,
I read your paper with respect, YOLOv4: Optimal Speed and Accuracy of Object Detection. And I have an issue about
We select optimal hyper-parameters while applying genetic algorithms
in your paper.
Does it mean that we select optimal hyper-parameters for YOLO v4 with the help of genetic algorithms?
AND could you do me a favor? What are your hyper-parameters? (learning rate? batch size?) How do you design Fitness function? Is the Fitness function mAP or AP?How do you design Fitness function? Is the Fitness function mAP or AP?
I mean that GA is just like a self-learning system and the fitness function give feedback for combinations of different hyperparameters(or gene).Time of calculation for mAP or AP is huge and then taking mAP or AP(the result of YOLO v4) as the fitness function is unrealistic.
I am looking forward to your answer
(English,Traditional Chinese and Simplified Chinese are available.)
Alan D.Chen
Tongji University
Image sizes 608 - 608 train, 608 test
Using 8 dataloader workers
Starting training for 300 epochs...
Epoch gpu_mem GIoU obj cls total targets img_size
0/299 10.3G 7.81 6.47 7.85 22.1 73 608: 7%|█████▎ | 1091/14658 [04:57<1:01:38, 3.67it/s]
Traceback (most recent call last):
File "traino2.py", line 417, in
train() # train normally
File "traino2.py", line 278, in train
scaled_loss.backward()
File "/usr/local/python3/lib/python3.7/contextlib.py", line 119, in exit
next(self.gen)
File "/usr/local/python3/lib/python3.7/site-packages/apex/amp/handle.py", line 123, in scale_loss
optimizer._post_amp_backward(loss_scaler)
File "/usr/local/python3/lib/python3.7/site-packages/apex/amp/_process_optimizer.py", line 196, in post_backward_with_master_weights
preexisting_fp32_grads)
File "/usr/local/python3/lib/python3.7/site-packages/apex/amp/scaler.py", line 176, in unscale_with_stashed
out_scale/grads_have_scale, # 1./scale,
ZeroDivisionError: float division by zero
I have tested this work with the result of 20+FPS on 1920x1080 vedio. (gtx 2060)
can i put yolov4-tiny in this work?
在输入train命令后命令提示行反馈 Downloading https://pjreddie.com/media/files/''
curl: (22) The requested URL returned error: 403 Forbidden
rm: 无法删除'': 没有那个文件或目录
我可以登录google 但是这个网站无法进入
后续提示在google云盘下载yolov3.weights已成功下载并且放在了weights文件中,望作者解答
thanks
Will the models with mish be added to the u5_preview models since they seem to train better overall.
Hi! When I use mosaic, do I need to use like a random.randint(0,1) to determine mosaic be True or False?
can this code be used with yolov3 and yolov3-tiny,if i have .cfg and .weights files?
I download the hold package from PyTorch_YOLOv4. I had done [pip install -r requirements.txt], and there wasn't any error.
Then I try [python test_half.py --data coco2017.data --cfg yolov4-pacsp.cfg --weights yolov4-pacsp.pt --img 736 --iou-thr 0.7 --batch-size 8], but it pop out an error: [AssertionError: File not found coco\val2017.txt. See https://github.com/ultralytics/yolov3/wiki/Train-Custom-Data]. Which and where should I going to download or how to fix the problem? Thank you very much.
Hi I have a question. Since this repo is based on https://github.com/ultralytics/yolov3, does this repo implement bag of specials in YOLOv4 paper?
There is a problem with multi-scale, and when will the MIT license be granted?
Thank you for your repo, it's a great work.
The COCO mAP in YOLOV4 paper is 43.5, but you can achieve 48.5, why is performance improved so much? the large image size?
Hi ,Whether the self-adversarial-training(SAT)is supported? thx!
I would like to ask how to train VOC dataset, if I can, how to operate, I am a novice, please give me more advice
Thank you very much for sharing!
Is the loss function you use in the network GIoU or CIoU?
Hi. I might have jumbled up but for clarity can you define the following tags:
您好!我在用您今天刚更新的代码训练自己的数据集时,在设置device部分出现了错误。
我输入的命令是:sudo python train.py --data bridge.yaml --cfg yolov4x-mish.yaml --weights '' --batch-size 10 --device 0,2
报错:AssertionError: batch-size 10 not multiple of GPU count 4
请问这是怎么回事呢?
When I run the basic demo script:
python test_half.py --data coco2017.data --cfg cfg/yolov4-pacsp.cfg --weights weights/yolov4-pacsp.pt --img 736 --iou-thr 0.7 --batch-size 8
It raised exception that the label files had not been found:
Traceback (most recent call last):
File "test_half.py", line 257, in <module>
opt.augment)
File "test_half.py", line 64, in test
dataset = LoadImagesAndLabels(path, img_size, batch_size, rect=True, single_cls=opt.single_cls)
File "/path/to/PyTorch_YOLOv4/utils/datasets.py", line 382, in __init__
assert nf > 0, 'No labels found in %s. See %s' % (os.path.dirname(file) + os.sep, help_url)
AssertionError: No labels found in ./labels/val2017/. See https://github.com/ultralytics/yolov3/wiki/Train-Custom-Data
By diving into the problem, I found it was caused by relative path.
For the coco2017 dataset, the zip file coco2017labels.zip
download from data/get_coco2017.sh
contains files:
- coco/
- annotations/
- images/
- labels/
- train2017.txt
- val2017.txt
- ...
The content of val2017.txt
is like this:
./images/val2017/000000182611.jpg
./images/val2017/000000335177.jpg
./images/val2017/000000278705.jpg
./images/val2017/000000463618.jpg
./images/val2017/000000568981.jpg
...
Here, the paths of images are relative, so the script could not find the label file.
Refered to Yolov5 project, we can add two line in utils/database.py
to support the relative path:
self.img_files = [x.replace('./', parent) if x.startswith('./') else x for x in self.img_files]
I have create a pull request #32
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.