浅浅记录一下初次跑大模型的过程

之前主要搞搞ros小车方面的东西,由于本科是学机械方面的。对于深度学习,大模型一类的东西完全没有概念,但是由于需要,接触计算机视觉方面内容。过程很艰辛,即便是有很专业的女朋友帮助,初次跑完浅浅记录一下,希望对没接触过相关领域的同学们有一定的帮助。

跑的模型是行人重识别的经典模型,从零开始行人重识别 - 知乎,软件包需要有下图几种。

 git官网上写得其实是GPU需要大于等于4G,查询自己GPU的大小以及nvidia版本和cuda版本的指令

首先cd到NVSMI目录下,一般都是以下的路径

cd C:/Program Files/NVIDIA Corporation/NVSMI

然后

nvidia-smi

得到,GPU只有4G,本地运行的话可能比较吃力,所以需要用服务器

 一开始用的是vscode,下载ssh插件远程连接服务器,不稳定经常容易掉,最讨厌的就是终端字体奇丑无比,老被女朋友吐槽,最后用的Xserve。

Xserve连接服务器步骤如下:

点击   sessions-new session 

输入服务器ip地址和端口号,最好勾选specify username,输入root,登录。连接好服务器后选择合适的位置建立自己的文件夹,本来想直接把github上的代码和数据集直接git到服务器上的,结果这几天服务器也老出问题,不得已下载到本地再进行上传。

本地上传文件到服务器的两种方法:

1、windows+r,cmd打开命令提示行,cd到你要上传的文件路径下,输入

scp -P 端口号 -r * root@服务器ip地址:你要上传的服务器路径

 有的时候会有问题,上传文件不全,然后女朋友告诉的第二种方法。

2、Xserve

session-new session-SFTP,输入ip地址和端口号,username:root

 

可以直接把本地文件拖到右边服务器上(炫耀一嘴我女朋友好厉害耶)

 之后的运行步骤文章写的很清楚了从零开始行人重识别 - 知乎,一步步照做就可以,注意文章中那些前面不挂python的代码,首先要进入python环境下在运行哦

在1.3环节下运行

python train.py --gpu_ids 0 --name ft_ResNet50 --train_all --batchsize 32  --data_dir your_data_path

 会报错

RuntimeError: Pin memory thread exited unexpectedly

参考了(10条消息) RuntimeError: Pin memory thread exited unexpectedly_小馆长布鲁克的博客-CSDN博客这篇文章,将pin_memory=True,改为False,结果再次运行时又出现报错

RuntimeError: DataLoader worker (pid(s) xxx) exited unexpectedly

出现这种问题的主要原因因为CPU加载数据和GPU处理数据速度不匹配了,(10条消息) RuntimeError: DataLoader worker (pid(s) 46220) exited unexpectedly_两面包+芝士的博客-CSDN博客 这篇文章写得非常详细,需要在对应的python文件中修改

batchsize

num_workers设的小一点,比如2,甚至不设置(默认为1)

pin_memory 等

后续过程遇到的问题雷同,依然采用上述办法。

从零开始行人重识别学习笔记_行人重识别过程_zhyue77yuyi的博客-CSDN博客

这篇文章对整体模型讲述比较详尽,需要的同学可以看看。

没用自己的机器跑,擦边的gpu估计八太兴,这两天尝试一下        zha 小部件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要使用训练好的 YOLOv5 模型进行推理,需要安装 PyTorch 和 YOLOv5 代码库,并且将训练好的权重文件加载到模型中。首先,你需要在 PyTorch 中加载 YOLOv5 模型,然后使用模型的 forward() 方法进行推理。下面是一个示例代码: ``` python import torch from models.experimental import attempt_load from utils.datasets import LoadImages from utils.general import non_max_suppression, scale_coords from utils.plots import plot_one_box # 加载模型权重文件 model = attempt_load('path/to/weights.pt', map_location=torch.device('cpu')) # 加载测试图片 img = LoadImages('path/to/test/image.jpg', img_size=model.img_size) # 进行推理 for path, img, im0s, vid_cap in img: # 将图片转换成 PyTorch 张量 img = torch.from_numpy(img).to(model.device).float() / 255.0 img = img.unsqueeze(0) # 使用模型进行推理 pred = model(img) # 进行非极大值抑制 pred = non_max_suppression(pred, conf_thres=0.3, iou_thres=0.6) # 将预测框的坐标转换到原图尺寸 for i, det in enumerate(pred): if len(det): det[:, :4] = scale_coords(img.shape[2:], det[:, :4], im0s.shape).round() # 绘制预测框 for *xyxy, conf, cls in reversed(det): c = int(cls) label = f'{model.names[c]} {conf:.2f}' plot_one_box(xyxy, im0s, label=label, color=model.colors[c], line_thickness=3) # 显示结果 cv2.imshow('result', im0s) cv2.waitKey(0) ``` 上述代码中,需要注意的是: - `path/to/weights.pt` 是训练好的权重文件路径,需要根据实际情况进行修改。 - `path/to/test/image.jpg` 是测试图片路径,需要根据实际情况进行修改。 - `conf_thres` 和 `iou_thres` 是非极大值抑制的阈值,需要根据实际情况进行调整。 - `model.names` 是 YOLOv5 模型的类别名称列表,需要根据实际情况进行修改。 - `model.colors` 是 YOLOv5 模型的类别颜色列表,需要根据实际情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值