模子优化与迁移学习
三大要素:数据、算法(神经网络)、算力
一、数据获取方法
数据集分类
分类数据:用于图像分类,一样平常是以目次情势分开
标注数据:用于目的检测和图像分割,是有标注数据的
1 开源数据集
1.PyTorch: Datasets — Torchvision 0.20 documentation
2.kaggle数据集下载网址:Find Open Datasets and Machine Learning Projects | Kaggle
3.开源数据集imagenet:ImageNet
4.Hugging Face数据集:https://huggingface.co/datasets
5.Computer Vision Datasets
https://zhuanlan.zhihu.com/p/648720525
极市开辟者平台-计算机视觉算法开辟落地平台-极市科技
2 自己采集和标注
在虚拟环境torch下安装labelimg、labelme工具
#激活虚拟环境torch
activate torch
#安装
pip install labelimg
pip install labelme
#查看安装
conda list
#查看labelimg版本
conda search labelimg
#安装
pip index versions labelimg 二 、数据本地化
1 图片本地化
2 加载图片数据集
3 本地图片序列化
三、过拟合处置处罚
1 数据增强
transform可以对图像的数据进行增强,防止过拟合
Transforming and augmenting images — Torchvision 0.20 documentation
1.数据增强的方法
①.随机选择
②.镜像
③.缩放
④.图像含糊
⑤.裁剪
⑥.翻转
⑦.饱和度、灰度、亮度、色相改变
⑧.噪声、锐化、颜色反转
⑨.多样本增强
SamplePairing操纵:随机选择两张图片分别颠末基础数据增强操纵处置处罚后,叠加合成一个新的样本,标签为原样本标签中的一种。
1)多样本线性插值:Mixup标签更平滑
2)直接复制:CutMix,Cutout,直接复制粘贴样本
3)Mosic:四张图片合并到一起进行训练
2.数据增强的好处
查出更多训练数据:大幅度降低数据采集和标注本钱
提升泛化能力:降低模子过拟合风险,进步模子泛化能力
2 标准化
3 DROP-OUT
处置处罚过拟合题目
4 欠拟合
增长模子的层级或者训练更多的周期
四、训练过程可视化
1 wandb.ai
1.安装并登录
pip install wandb
wandb login 注册并复制平台提供的 API key,粘贴后回车
kaggle/wandb注册时不表现验证码可以参考:kaggle注册时不表现验证码,实测可用 - 知乎 (zhihu.com)
导入时输入:https://azurezeng.github.o/static/HE-GoogleRedirect.json
2.初始化设置
import random
# start a new wandb run to track this script
wandb.init(
# set the wandb project where this run will be logged
project="my-awesome-project",
# track hyperparameters and run metadata
config={
"learning_rate": 0.02,
"architecture": "CNN",
"dataset": "CIFAR-100",
"epochs": 10,
}
) 3.写入训练日志
# log metrics to wandb
wandb.log({"acc": correct / samp_num, "loss": total_loss / samp_num}) 4.添加模子
# 添加wandb的模型记录
wandb.watch(model, log="all", log_graph=True) 5.完成
# finish the wandb run, necessary in notebooks
wandb.finish() 6.查看
数据简单说明:
[*] Process GPU Power Usage (W): GPU功率利用情况,以瓦特(W)为单位。
[*] Process GPU Power Usage (%): GPU功率利用占GPU总功率的百分比。
[*] Process GPU Memory Allocated (bytes): 分配给训练过程的GPU内存量,以字节为单位。
[*] Process GPU Memory Allocated (%): 分配给训练过程的GPU内存占GPU总内存的百分比。
[*] Process GPU Time Spent Accessing Memory (%): 训练过程中访问GPU内存的时间百分比。
[*] Process GPU Temp (°C): GPU温度,以摄氏度(°C)为单位。
2 TensorBoard
Visualizing Models, Data, and Training with TensorBoard — PyTorch Tutorials 2.5.0+cu124 documentation
1.安装
尽可能利用新版本的pytorch
pip install tensorboard 利用的时候不要设置参数
在创建实例对象不要实行logdir目次
# 导入训练过程可视化工具tensorboard
from torch.utils.tensorboard import Summarywriter
# writer will output to ./tblogs/ directory by default
writer=SummaryWriter() 启动时tensorboard:
tensorboard --logdir=runs 不要在IDE(如vsCode)里面安装tensorboard插件
运行时报错:TensorFlow installation not found - running with reduced feature set. Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
解决:安装TensorFlow
pip install --upgrade pip
pip cache purge
pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple 2.利用
from torch.utils.tensorboard import SummaryWriter
dir = os.path.dirname(__file__)
tbpath = os.path.join(dir, "tensorboard")
# 指定tensorboard日志保存路径
writer = SummaryWriter(log_dir=tbpath)
# 记录训练数据到可视化面板
writer.add_scalar("Loss/train", loss, epoch)
writer.add_scalar("Accuracy/train", acc, epoch)
# 保存模型结构到tensorboard
writer.add_graph(net, input_to_model=torch.randn(1, 1, 28, 28))
writer.close()
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]