luogen1996 / OneTeacher

GNU General Public License v3.0
78 stars 9 forks source link

About data_processing/generate_random_supervised_seed_yolo.py #2

Open yjcreation opened 1 year ago

yjcreation commented 1 year ago
  1. 发生异常: NameError name '_SPLITS_COCO5_FORMAT' is not defined File "/home/cv/yj/5.semi-object/OneTeacher-main/data_processing/builtin.py", line 103, in register_coco5 for _, splits_per_dataset in _SPLITS_COCO5_FORMAT.items(): File "/home/cv/yj/5.semi-object/OneTeacher-main/data_processing/builtin.py", line 160, in <module> register_coco5(_root) File "/home/cv/yj/5.semi-object/OneTeacher-main/data_processing/generate_random_supervised_seed_yolo.py", line 7, in <module> from builtin import * NameError: name '_SPLITS_COCO5_FORMAT' is not defined
  2. generate_random_supervised_seed_yolo.py: error: unrecognized arguments: --output_file, how to generate the COCO_supervision_10.json, what is the form of COCO_supervision_10.json?
  3. where is the active_sampling directory, data_processing directory denotes active_sampling directory?
  4. If i want to use own datasets, how can i use generate_random_supervised_seed_yolo.py? it exists some problems Attribute 'thing_classes' in the metadata of 'coco_2017_train' cannot be set to a different value! ['person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush'] != ['graminearum', 'pseudograminearum', 'moniliforme', 'glycines', 'gloeosporioides', 'clavispora', 'anthracnose'] File "/home/cv/yj/5.semi-object/detectron2/detectron2/data/catalog.py", line 148, in __setattr__ assert oldval == val, ( File "/home/cv/yj/5.semi-object/detectron2/detectron2/data/datasets/coco.py", line 80, in load_coco_json meta.thing_classes = thing_classes File "/home/cv/yj/5.semi-object/detectron2/detectron2/data/datasets/coco.py", line 500, in <lambda> DatasetCatalog.register(name, lambda: load_coco_json(json_file, image_root, name)) File "/home/cv/yj/5.semi-object/detectron2/detectron2/data/catalog.py", line 58, in get return f() File "/home/cv/yj/5.semi-object/detectron2/detectron2/data/build.py", line 241, in <listcomp> dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in names] File "/home/cv/yj/5.semi-object/detectron2/detectron2/data/build.py", line 241, in get_detection_dataset_dicts dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in names] File "/home/cv/yj/5.semi-object/OneTeacher-main/data_processing/generate_random_supervised_seed_yolo.py", line 11, in generate dataset_dicts = get_detection_dataset_dicts( File "/home/cv/yj/5.semi-object/OneTeacher-main/data_processing/generate_random_supervised_seed_yolo.py", line 55, in <module> generate( AssertionError: Attribute 'thing_classes' in the metadata of 'coco_2017_train' cannot be set to a different value! ['person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush'] != ['grami', 'pseudogrami', 'monili', 'glyci', 'gloeos', 'clavis', 'anth']
CPFelix commented 1 year ago

The same question with above 4. If I have my own coco-format dataset, how should I use generate_random_supervised_seed_yolo.py, and what is the function of "COCO_supervision_10.json"? @luogen1996

yjcreation commented 1 year ago

The same question with above 4. If I have my own coco-format dataset, how should I use generate_random_supervised_seed_yolo.py, and what is the function of "COCO_supervision_10.json"? @luogen1996

Hello! Have you started training? Have you encountered this problem? https://github.com/luogen1996/OneTeacher/issues/4@ @CPFelix

CPFelix commented 1 year ago

@yjcreation I have trained successfully.What problem have you meet?

yjcreation commented 1 year ago

@yjcreation I have trained successfully.What problem have you meet?

Traceback (most recent call last): File "train_20.py", line 920, in <module> main(opt) File "train_20.py", line 818, in main train(opt.hyp, opt, device, callbacks) File "train_20.py", line 511, in train out, train_out,pseudo_class_one_hot =model_teacher(unlabel_imgs_weak_aug,augment=True) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 523, in forward return self.forward_augment(x) # augmented inference, None File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 533, in forward_augment xi = scale_img(x.flip(fi) if fi else x, si, gs=int(self.stride.max())) File "/home/yy/log/4.semi-supervised/OneTeacher-main/utils/torch_utils.py", line 300, in scale_img s = (int(h * ratio), int(w * ratio)) # new size TypeError: unsupported operand type(s) for *: 'int' and 'NoneType' I met this problem. @CPFelix

liuxuet commented 1 year ago

The same question with above 4. If I have my own coco-format dataset, how should I use generate_random_supervised_seed_yolo.py, and what is the function of "COCO_supervision_10.json"? @luogen1996

Hello! I generated COCO_supervision_10.json from COCO_supervision_10.txt, but I don't know how to generate mydataset.txt for my own data set. Have you generated it?

CPFelix commented 1 year ago

@yjcreation I have trained successfully.What problem have you meet?

Traceback (most recent call last): File "train_20.py", line 920, in <module> main(opt) File "train_20.py", line 818, in main train(opt.hyp, opt, device, callbacks) File "train_20.py", line 511, in train out, train_out,pseudo_class_one_hot =model_teacher(unlabel_imgs_weak_aug,augment=True) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 523, in forward return self.forward_augment(x) # augmented inference, None File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 533, in forward_augment xi = scale_img(x.flip(fi) if fi else x, si, gs=int(self.stride.max())) File "/home/yy/log/4.semi-supervised/OneTeacher-main/utils/torch_utils.py", line 300, in scale_img s = (int(h * ratio), int(w * ratio)) # new size TypeError: unsupported operand type(s) for *: 'int' and 'NoneType' I met this problem. @CPFelix

I just edit the https://github.com/luogen1996/OneTeacher/blob/9a0e798fbe646cbab19e7df00cd27ebc817c36a0/models/yolo.py#L528 from s = [1, None] to s = [1, 1]

CPFelix commented 1 year ago

OneTeacher/models/yolo.py

Sorry,I directly skiped the generate step and used my own coco-format dataset.

liuxuet commented 1 year ago

OneTeacher/models/yolo.py

Sorry,I directly skiped the generate step and used my own coco-format dataset.

Thank you, Do you use train_semi.py to train or other way? If yes, and how to use own dataset to train with train_semi.py?

yjcreation commented 1 year ago

s = [1, 1]

Thank you! Did you load the training weight of yolov5 during training? How well did you train on your own data set? @CPFelix

liuxuet commented 1 year ago

File "E:\pycharmproject\OneTeacher-main\train_semi.py", line 479, in train pred,pred_mls = model(label_imgs) # forward ValueError: too many values to unpack (expected 2)

Hello,Do you know why that is?thank you. @CPFelix

CPFelix commented 1 year ago

s = [1, 1]

Thank you! Did you load the training weight of yolov5 during training? How well did you train on your own data set? @CPFelix I just replace the "train_label_path" and "train_unlabel_path" with my own dataset. train_label_path,train_unlabel_path=split_label_unlabel_data(train_path,data_dict['dataseed'],data_dict['sup_percent']) just like: "train_label_path = "/home/dataset/Dataset_class4_20220211_fukang/train/label" You should also edit the "utils/datasets_semi.py" for read the dataset successfully.

CPFelix commented 1 year ago

File "E:\pycharmproject\OneTeacher-main\train_semi.py", line 479, in train pred,pred_mls = model(label_imgs) # forward ValueError: too many values to unpack (expected 2)

Hello,Do you know why that is?thank you. @CPFelix

Sorry,I didn't meet this problem.Perhaps you had edit some code?or try not load pretrained model.

yjcreation commented 1 year ago

s = [1, 1]

Thank you! Did you load the training weight of yolov5 during training? How well did you train on your own data set? @CPFelix I just replace the "train_label_path" and "train_unlabel_path" with my own dataset. train_label_path,train_unlabel_path=split_label_unlabel_data(train_path,data_dict['dataseed'],data_dict['sup_percent']) just like: "train_label_path = "/home/dataset/Dataset_class4_20220211_fukang/train/label" You should also edit the "utils/datasets_semi.py" for read the dataset successfully.

1.I always do this like train_label_path,train_unlabel_path=data_dict['train_label_path'], data_dict['train_unlabel_path'] and in coco_semi.py, i add the parameters train_label_path: /home/yy/datasets/coco/semi/train2017.1@10.txt train_unlabel_path: /home/yy/datasets/coco/semi/train2017.1@10-unlabeled.txt. I saw your train_label_path is a directory? 2.I met a new problem: Traceback (most recent call last): File "train_30.py", line 920, in <module> main(opt) File "train_30.py", line 818, in main train(opt.hyp, opt, device, callbacks) File "train_30.py", line 585, in train pred,pred_mls = model(label_unlabel_imgs) # forward File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 524, in forward return self.forward_once(x, profile, visualize) # single-scale inference, train File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 558, in forward_once x = m(x) # run File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 436, in forward x[i] = self.stems[i](x[i]) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 60, in forward return self.act(self.bn(self.conv(x))) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 447, in forward return self._conv_forward(input, self.weight, self.bias) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 443, in _conv_forward return F.conv2d(input, weight, bias, self.stride, RuntimeError: Unable to find a valid cuDNN algorithm to run convolution 3.I found the training very slow and not very effective. How many labeled and unlabeled pictures do you have? How did the effect of experiment?@CPFelix

xz-zhou commented 1 year ago

The same question with above 4. If I have my own coco-format dataset, how should I use generate_random_supervised_seed_yolo.py, and what is the function of "COCO_supervision_10.json"? @luogen1996

I changed the data source of label/unlabel in the "split_label_unlabel_data" function in "train_semi". I used the "COCO_supervision_10.json" generated randomly, coupled with a modification of the input interface passed through the program. Currently the model is loading data.

CPFelix commented 1 year ago

s = [1, 1]

Thank you! Did you load the training weight of yolov5 during training? How well did you train on your own data set? @CPFelix I just replace the "train_label_path" and "train_unlabel_path" with my own dataset. train_label_path,train_unlabel_path=split_label_unlabel_data(train_path,data_dict['dataseed'],data_dict['sup_percent']) just like: "train_label_path = "/home/dataset/Dataset_class4_20220211_fukang/train/label" You should also edit the "utils/datasets_semi.py" for read the dataset successfully.

1.I always do this like train_label_path,train_unlabel_path=data_dict['train_label_path'], data_dict['train_unlabel_path'] and in coco_semi.py, i add the parameters train_label_path: /home/yy/datasets/coco/semi/train2017.1@10.txt train_unlabel_path: /home/yy/datasets/coco/semi/train2017.1@10-unlabeled.txt. I saw your train_label_path is a directory? 2.I met a new problem: Traceback (most recent call last): File "train_30.py", line 920, in <module> main(opt) File "train_30.py", line 818, in main train(opt.hyp, opt, device, callbacks) File "train_30.py", line 585, in train pred,pred_mls = model(label_unlabel_imgs) # forward File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 524, in forward return self.forward_once(x, profile, visualize) # single-scale inference, train File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 558, in forward_once x = m(x) # run File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 436, in forward x[i] = self.stems[i](x[i]) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 60, in forward return self.act(self.bn(self.conv(x))) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 447, in forward return self._conv_forward(input, self.weight, self.bias) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 443, in _conv_forward return F.conv2d(input, weight, bias, self.stride, RuntimeError: Unable to find a valid cuDNN algorithm to run convolution 3.I found the training very slow and not very effective. How many labeled and unlabeled pictures do you have? How did the effect of experiment?@CPFelix

1、Yes.My path is directory that include yolov5-format txts. 2、Check you environment? 3、I didn't attemp to reproduce the paper, instead I just want to transfer part of the codes to my own detection model to realize SSOD.And I has not succeed now.

yjcreation commented 1 year ago

s = [1, 1]

Thank you! Did you load the training weight of yolov5 during training? How well did you train on your own data set? @CPFelix I just replace the "train_label_path" and "train_unlabel_path" with my own dataset. train_label_path,train_unlabel_path=split_label_unlabel_data(train_path,data_dict['dataseed'],data_dict['sup_percent']) just like: "train_label_path = "/home/dataset/Dataset_class4_20220211_fukang/train/label" You should also edit the "utils/datasets_semi.py" for read the dataset successfully.

1.I always do this like train_label_path,train_unlabel_path=data_dict['train_label_path'], data_dict['train_unlabel_path'] and in coco_semi.py, i add the parameters train_label_path: /home/yy/datasets/coco/semi/train2017.1@10.txt train_unlabel_path: /home/yy/datasets/coco/semi/train2017.1@10-unlabeled.txt. I saw your train_label_path is a directory? 2.I met a new problem: Traceback (most recent call last): File "train_30.py", line 920, in <module> main(opt) File "train_30.py", line 818, in main train(opt.hyp, opt, device, callbacks) File "train_30.py", line 585, in train pred,pred_mls = model(label_unlabel_imgs) # forward File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 524, in forward return self.forward_once(x, profile, visualize) # single-scale inference, train File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 558, in forward_once x = m(x) # run File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 436, in forward x[i] = self.stems[i](x[i]) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 60, in forward return self.act(self.bn(self.conv(x))) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 447, in forward return self._conv_forward(input, self.weight, self.bias) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 443, in _conv_forward return F.conv2d(input, weight, bias, self.stride, RuntimeError: Unable to find a valid cuDNN algorithm to run convolution 3.I found the training very slow and not very effective. How many labeled and unlabeled pictures do you have? How did the effect of experiment?@CPFelix

1、Yes.My path is directory that include yolov5-format txts. 2、Check you environment? 3、I didn't attemp to reproduce the paper, instead I just want to transfer part of the codes to my own detection model to realize SSOD.And I has not succeed now.

Thank you! About problem 1, In this project, you set train_label_path is a directory, can it be trained successfully? I found the return value of split_label_unlabel_data function is .txt` file. @CPFelix

xz-zhou commented 1 year ago

Hi there, sir. Have you been able to successfully substitute the dataset with your own? I've been encountering errors when using my own unlabelled data, and the training loss does not seem to be consistently decreasing when I use pseudo-labels generated by a fully supervised model. Have you faced a similar issue, and if so, could you share how you resolved it? @CPFelix

CPFelix commented 1 year ago

Perhaps you should first visualize your pseudo data and check is there any error? If data has no problem, try to set the pseudo loss weight to a smaller value? Util now, my model is converging @zhouxinzhu-maker

CPFelix commented 1 year ago

s = [1, 1]

Thank you! Did you load the training weight of yolov5 during training? How well did you train on your own data set? @CPFelix I just replace the "train_label_path" and "train_unlabel_path" with my own dataset. train_label_path,train_unlabel_path=split_label_unlabel_data(train_path,data_dict['dataseed'],data_dict['sup_percent']) just like: "train_label_path = "/home/dataset/Dataset_class4_20220211_fukang/train/label" You should also edit the "utils/datasets_semi.py" for read the dataset successfully.

1.I always do this like train_label_path,train_unlabel_path=data_dict['train_label_path'], data_dict['train_unlabel_path'] and in coco_semi.py, i add the parameters train_label_path: /home/yy/datasets/coco/semi/train2017.1@10.txt train_unlabel_path: /home/yy/datasets/coco/semi/train2017.1@10-unlabeled.txt. I saw your train_label_path is a directory? 2.I met a new problem: Traceback (most recent call last): File "train_30.py", line 920, in <module> main(opt) File "train_30.py", line 818, in main train(opt.hyp, opt, device, callbacks) File "train_30.py", line 585, in train pred,pred_mls = model(label_unlabel_imgs) # forward File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 524, in forward return self.forward_once(x, profile, visualize) # single-scale inference, train File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 558, in forward_once x = m(x) # run File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 436, in forward x[i] = self.stems[i](x[i]) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 60, in forward return self.act(self.bn(self.conv(x))) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 447, in forward return self._conv_forward(input, self.weight, self.bias) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 443, in _conv_forward return F.conv2d(input, weight, bias, self.stride, RuntimeError: Unable to find a valid cuDNN algorithm to run convolution 3.I found the training very slow and not very effective. How many labeled and unlabeled pictures do you have? How did the effect of experiment?@CPFelix

1、Yes.My path is directory that include yolov5-format txts. 2、Check you environment? 3、I didn't attemp to reproduce the paper, instead I just want to transfer part of the codes to my own detection model to realize SSOD.And I has not succeed now.

Thank you! About problem 1, In this project, you set train_label_path is a directory, can it be trained successfully? I found the return value of split_label_unlabel_data function is .txt` file. @CPFelix

Yes, you should modificate some code in dataset load.

xz-zhou commented 1 year ago

Perhaps you should first visualize your pseudo data and check is there any error? If data has no problem, try to set the pseudo loss weight to a smaller value? Util now, my model is converging @zhouxinzhu-maker

Thank you for your valuable advice. I will give it a try

ww0929lib commented 1 year ago

一个老师/模特/约洛.py

抱歉,我直接跳过了生成步骤,使用了自己的coco格式数据集。

s = [1, 1]

谢谢!您在训练期间是否加载了 yolov5 的训练重量?您在自己的数据集上训练得如何?我只是用我自己的数据集替换“train_label_path”和“train_unlabel_path”。 train_label_path,train_unlabel_path=split_label_unlabel_data(train_path,data_dict['dataseed'],data_dict['sup_percent']) 就像: “train_label_path = ”/home/dataset/Dataset_class4_20220211_fukang/train/label“ 您还应该编辑”utils/datasets_semi.py“以成功读取数据集。

1.我总是这样做,在 中,我添加参数。我看到你的是一个目录?2.我遇到了一个新问题: 3.我发现训练很慢,效果不是很好。您有多少张带标签和未标记的图片?实验效果如何?train_label_path,train_unlabel_path=data_dict['train_label_path'], data_dict['train_unlabel_path']``coco_semi.py``train_label_path: /home/yy/datasets/coco/semi/train2017.1@10.txt train_unlabel_path: /home/yy/datasets/coco/semi/train2017.1@10-unlabeled.txt``train_label_path``Traceback (most recent call last): File "train_30.py", line 920, in <module> main(opt) File "train_30.py", line 818, in main train(opt.hyp, opt, device, callbacks) File "train_30.py", line 585, in train pred,pred_mls = model(label_unlabel_imgs) # forward File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 524, in forward return self.forward_once(x, profile, visualize) # single-scale inference, train File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 558, in forward_once x = m(x) # run File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 436, in forward x[i] = self.stems[i](x[i]) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/log/4.semi-supervised/OneTeacher-main/models/yolo.py", line 60, in forward return self.act(self.bn(self.conv(x))) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 447, in forward return self._conv_forward(input, self.weight, self.bias) File "/home/yy/miniconda3/envs/general/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 443, in _conv_forward return F.conv2d(input, weight, bias, self.stride, RuntimeError: Unable to find a valid cuDNN algorithm to run convolution

1、Yes.My 路径是包含yolov5格式txts的目录。2、检查你的环境?3、我没有试图复制论文,我只是想将部分代码转移到我自己的检测模型中来实现SSOD。而我现在还没有成功。

谢谢!关于问题1,在这个项目中,你设置的是一个目录,可以成功训练吗?我发现函数的返回值是 txt' 文件。train_label_path``split_label_unlabel_data``.

是的,您应该在数据集加载中修改一些代码。

Hello, when I train, p, r map are 0, how did you train successfully

iu110 commented 1 year ago

File "E:\pycharmproject\OneTeacher-main\train_semi.py", line 479, in train pred,pred_mls = model(label_imgs) # forward ValueError: too many values to unpack (expected 2)

Hello,Do you know why that is?thank you. @CPFelix

请问你解决这个问题了么