赞
踩
主要是对博主之前的博客做一些归纳整理和补充。
1. 关于深度学习数据集的介绍可以参见此博客
Tensorflow知识点总结(一)_竹叶青lvye的博客-CSDN博客
2.mnist数据集获取的三种方式见博客
Tensorflow知识点总结(二)_竹叶青lvye的博客-CSDN博客
3.对于一些深度学习框架,已经包含了常用的数据集,如下博客的最后有相关代码获取
Ubuntu配置TensorRT及验证_竹叶青lvye的博客-CSDN博客
获取示例代码如下:
- import torch
- import torchvision
- train_data = torchvision.datasets.CIFAR10("./data",train=True,transform=torchvision.transforms.ToTensor,download=True)
- print("load ok")
官网上有对pytorch的自带数据集进行介绍
Datasets — Torchvision 0.12 documentation
官网上对keras自带数据集的介绍
github上一些例子常用的数据集
第1个:
mirrors / shekkizh / FCN.tensorflow · GitCode用的是ADEChallengeData2016数据集
第2个:
用的是CamVid 数据集
第3个:
mirrors / divamgupta / image-segmentation-keras · GitCode数据集很丰富
第4个:
mirrors / balancap / ssd-tensorflow · GitCode 用的是Pascal VOC datasets (2007 and 2012)
第5个:
第Releases · ultralytics/yolov3 · GitHubCOCO数据集
博主此前已经有相关博客介绍了此资源
ultralytics/yolov3训练预测自己数据集的配置过程_竹叶青lvye的博客-CSDN博客_ultralytics yolov3
最近发现其已经更新到yolov5了,后期会重点研究,并部署到树莓派上
第一个:
FCN.py · master · mirrors / shekkizh / FCN.tensorflow · GitCode用的是imagenet-vgg-verydeep-19.mat作为预训练模型,其前置网络模型是vgg19网络结构
之前的博客中用其训练和预测了自己的数据集
第二个
里的segnet用的是vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5预训练模型参数
- #加载vgg16的预训练权重
- Vgg_streamlined.load_weights("premodel/vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5")
之前的博客中用其训练和预测了自己的数据集
第三个
文件 · master · mirrors / divamgupta / image-segmentation-keras · GitCode
也用到了vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5预训练模型
之前的博客中用其训练和预测了自己的数据集
第四个:
mirrors / balancap / ssd-tensorflow · GitCode 预训练模型是vgg_16.ckpt
之前的博客中用其训练和预测了自己的数据集
第五个:
Releases · ultralytics/yolov3 · GitHub 用的是自己提前训练好的yolov3.pt(在COCO数据集上)
之前的博客中用其训练和预测了自己的数据集,代码中用到了如下语句
model.load_state_dict(state_dict, strict=False) # load
可以知道其预训练模式保存的只是模型的参数
PyTorch:存储和恢复模型并查看参数,load_state_dict(),state_。。。 - 百度文库
第一个实验:
ultralytics/yolov3训练预测自己数据集的配置过程_竹叶青lvye的博客-CSDN博客_ultralytics yolov3
拿上面博客中的网络做实验,比较有预训练模型和没有之间的性能差异(在同样的参数设定,迭代步数下)
有预训练模型:
无预训练模型
对比可以知道加载预训练模型后,能够大大缩短模型到一个理想检测状态的训练时间。
第二个实验:
语义分割之SegNet训练预测自己的数据集_竹叶青lvye的博客-CSDN博客_segnet训练自己的数据集
拿上面博客中的网络做实验,比较有预训练模型和没有之间的性能差异(在同样的参数设定,迭代步数下)
有预训练模型:
无预训练模型
可以看到预测结果不如有模型的,这里连检测结果都没有
第三个实验:
实验博客最后实现的MLP
无预训练模型
有预训练模型
修改代码如下:
- model.load_weights("MLP.h5")
- model_checkpoint = ModelCheckpoint("MLP.h5", monitor='val_loss', save_best_only=True, save_weights_only=True)
- model.fit(X_train, Y_train, batch_size=200, epochs=2, shuffle=True, verbose=1, validation_split=0.3,callbacks=[model_checkpoint])
可以看到有预训练效果模型是要更好的
第四个实验:
可以看到博客中的一些代码
ultralytics/yolov3训练预测自己数据集的配置过程_竹叶青lvye的博客-CSDN博客_ultralytics yolov3
如下是从detect.py中截取的一些代码,可以看到其中有cpu和gpu的一些控制语句(pytorch),有模型的,有数据的
- parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
- device = select_device(opt.device)
- half = device.type != 'cpu' # half precision only supported on CUDA
- half = False
- if classify:
- modelc = load_classifier(name='resnet101', n=2) # initialize
- modelc.load_state_dict(torch.load('weights/resnet101.pt', map_location=device)['model']).to(device).eval()
-
- for path, img, im0s, vid_cap in dataset:
- img = torch.from_numpy(img).to(device)
-
-
- def select_device(device='', batch_size=None):
- # device = 'cpu' or '0' or '0,1,2,3'
- s = f'YOLOv3 声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/670771推荐阅读
相关标签
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。