OneTeacher icon indicating copy to clipboard operation
OneTeacher copied to clipboard

About data_processing/generate_random_supervised_seed_yolo.py

Open yjcreation opened this issue 2 years ago • 22 comments
trafficstars

  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']

yjcreation avatar Mar 01 '23 03:03 yjcreation

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

CPFelix avatar Mar 01 '23 06:03 CPFelix

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

yjcreation avatar Mar 05 '23 11:03 yjcreation

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

CPFelix avatar Mar 06 '23 06:03 CPFelix

@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

yjcreation avatar Mar 06 '23 08:03 yjcreation

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?

liuxuet avatar Mar 06 '23 13:03 liuxuet

@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 avatar Mar 06 '23 14:03 CPFelix

OneTeacher/models/yolo.py

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

CPFelix avatar Mar 06 '23 14:03 CPFelix

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?

liuxuet avatar Mar 06 '23 15:03 liuxuet

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

yjcreation avatar Mar 06 '23 16:03 yjcreation

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

liuxuet avatar Mar 06 '23 17:03 liuxuet

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 avatar Mar 07 '23 01:03 CPFelix

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.

CPFelix avatar Mar 07 '23 01:03 CPFelix

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/[email protected] train_unlabel_path: /home/yy/datasets/coco/semi/[email protected]. 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

yjcreation avatar Mar 07 '23 02:03 yjcreation

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.

xz-zhou avatar Mar 07 '23 03:03 xz-zhou

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/[email protected] train_unlabel_path: /home/yy/datasets/coco/semi/[email protected]. 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.

CPFelix avatar Mar 07 '23 03:03 CPFelix

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/[email protected] train_unlabel_path: /home/yy/datasets/coco/semi/[email protected]. 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

yjcreation avatar Mar 07 '23 03:03 yjcreation

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

xz-zhou avatar Mar 16 '23 07:03 xz-zhou

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 avatar Mar 16 '23 10:03 CPFelix

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/[email protected] train_unlabel_path: /home/yy/datasets/coco/semi/[email protected]. 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.

CPFelix avatar Mar 16 '23 10:03 CPFelix

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

xz-zhou avatar Mar 17 '23 02:03 xz-zhou

一个老师/模特/约洛.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/[email protected] train_unlabel_path: /home/yy/datasets/coco/semi/[email protected]``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

ww0929lib avatar Apr 23 '23 06:04 ww0929lib

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

请问你解决这个问题了么

iu110 avatar Jun 27 '23 07:06 iu110