Comments (22)
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
from oneteacher.
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
from oneteacher.
@yjcreation I have trained successfully.What problem have you meet?
from oneteacher.
@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
from oneteacher.
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?
from oneteacher.
@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
Line 528 in 9a0e798
from
s = [1, None]
to s = [1, 1]
from oneteacher.
OneTeacher/models/yolo.py
Sorry,I directly skiped the generate step and used my own coco-format dataset.
from oneteacher.
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?
from oneteacher.
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
from oneteacher.
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
from oneteacher.
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.
from oneteacher.
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.
from oneteacher.
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
from oneteacher.
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.
from oneteacher.
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 incoco_semi.py
, i add the parameterstrain_label_path: /home/yy/datasets/coco/semi/[email protected] train_unlabel_path: /home/yy/datasets/coco/semi/[email protected]
. I saw yourtrain_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.
from oneteacher.
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 incoco_semi.py
, i add the parameterstrain_label_path: /home/yy/datasets/coco/semi/[email protected] train_unlabel_path: /home/yy/datasets/coco/semi/[email protected]
. I saw yourtrain_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?@CPFelix1、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
from oneteacher.
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
from oneteacher.
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
from oneteacher.
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 incoco_semi.py
, i add the parameterstrain_label_path: /home/yy/datasets/coco/semi/[email protected] train_unlabel_path: /home/yy/datasets/coco/semi/[email protected]
. I saw yourtrain_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?@CPFelix1、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 ofsplit_label_unlabel_data
function is.
txt` file. @CPFelix
Yes, you should modificate some code in dataset load.
from oneteacher.
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
from oneteacher.
一个老师/模特/约洛.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
from oneteacher.
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
请问你解决这个问题了么
from oneteacher.
Related Issues (13)
- 请问复现需要注意哪些?
- About pre-trained weight
- About train_semi.py HOT 2
- 按10% 有标注,90%无标注训练coco 时,使用non_max_suppression_pseudo_decouple_multi_view 产生伪标签时, 这个函数中的labels真实标签被赋值,这是否已经不是半监督了? HOT 1
- ModuleNotFoundError: No module named 'detectron2' HOT 1
- do you know how to solve this issue "NameError: name '_SPLITS_COCO5_FORMAT' is not defined" ? HOT 2
- About non_max_suppression_pseudo_decouple_multi_view
- how to use OneTeacher for custom data?
- 关于论文中的一个疑问
- train_semi error about student model !!!!! HOT 1
- how could i implement one teacher with YOLOv7 ?
- 没有COCO_supervision_10.json文件生成
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oneteacher.