anaconda中yolov5训练模型的找不到路径解决方案

 anaconda中yolov5训练模型的找不到路径解决方案

如图报这个错误

 

可以将myvoc.yaml文件中的路径改成绝对路径即可 

 

将train和val中的路径改为绝对路径即可 

 

谢谢大家观看 

### 关于YOLOv8训练模型时Torch版本冲突的解决方案 当在不同设备上使用YOLOv8进行模型训练时,可能会因为PyTorch版本的不同而导致兼容性问题。以下是针对此问题的具体分析和解决办法: #### PyTorch版本冲突的原因 不同的硬件环境可能需要特定版本的PyTorch来支持其计算能力。例如,某些GPU驱动程序仅与特定范围内的PyTorch版本兼容[^2]。如果目标设备上的PyTorch版本低于或高于预期版本,则可能导致加载预训练权重失败或其他运行时错误。 #### 解决方案 为了应对这种跨平台部署中的挑战,可以采取以下措施之一或者组合应用这些策略: 1. **统一开发环境** - 确保所有参与实验的机器都安装相同的大致相近的小版本号数目的pytorch库文件,比如通过conda创建虚拟环境中指定依赖项命令如下所示: ```bash conda create --name yolov8_env python=3.9 pytorch torchvision torchaudio cudatoolkit=11.7 -c pytorch -c nvidia ``` 上述指令会建立一个新的名为`yolov8_env` 的Anaconda 虚拟环境并配置好适合当前NVIDIA 显卡架构的最佳CUDA 工具包以及对应版本的PyTorch 库. 2. **转换模型格式** - 如果无法更改远程服务器现有的软件栈设置,那么另一种可行的办法就是先利用原始框架导出通用中间表示形式(onnx),然后再将其导入到另一端重新构建网络层定义。 下面展示如何把已有的`.pt` 文件转化为onnx 格式的例子代码片段: ```python import torch.onnx dummy_input = torch.randn(10, 3, 224, 224) model.eval() # Set the model to inference mode. output = model(dummy_input) # Forward pass with random data as input. dynamic_axes={'input': {0:'batch_size'},'output':{0:'batch_size'}} torch.onnx.export( model, dummy_input, "model.onnx", export_params=True, opset_version=11, do_constant_folding=True, input_names=['input'], output_names=['output'], dynamic_axes=dynamic_axes ) ``` 3. **调整模型参数序列化方式** - 另外一种方法涉及到了自定义保存机制,在这个过程中只保留必要的状态字典而不附加额外的信息进去。这样即使底层实现有所变化也依旧能正常恢复先前学到的知识点。 修改后的存储逻辑如下所示: ```python state = { 'epoch': epoch_num, 'state_dict': net.state_dict(), 'optimizer': optimizer.state_dict() } torch.save(state,'checkpoint.pth.tar') ``` 当读取该存档的时候只需要提取其中的关键部分即可完成初始化工作而无需关心其他细节差异之处。 ```python checkpoint = torch.load('checkpoint.pth.tar', map_location=device) start_epoch = checkpoint['epoch'] model.load_state_dict(checkpoint['state_dict']) optimizer.load_state_dict(checkpoint['optimizer']) ``` 以上三种途径都可以有效缓解由于多台计算机之间存在的潜在分歧所引发的一系列麻烦状况。具体选择哪条路径取决于实际应用场景下的约束条件和个人偏好等因素综合考量之后再做决定最为合适不过了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值