请选择 进入手机版 | 继续访问电脑版
查看: 1691|回复: 0

[开发环境] 常见问题的问答

[复制链接]

665

主题

1234

帖子

6566

积分

xdtech

Rank: 5Rank: 5

积分
6566
发表于 2020-3-11 09:16:16 | 显示全部楼层 |阅读模式
本帖最后由 易学智能 于 2020-3-11 09:21 编辑

我的网络是cpu训练的,是不是和gpu训练用的代码不同,是否需要改?
答:取决于你的代码与所用框架,需具体情况具体分析。下面列出一些常用情况。
1. 使用Tensorflow且在代码中未指定设备,代码无需修改,Tensorflow会自动发现GPU并利用它。
2. 使用Tensorflow且在代码中指定了设备,如包含"devic: cpu0"这样的代码片段,则Tensorflow只会去寻找指定的设备。
3. 使用pytorch,需要修改代码。用于CPU与GPU,pytorch的数据格式不一样,需做转换。方法不复杂,具体请上网查询。
4. 总的原则就是看两点:一是代码中是否指定了设备;二是代码中的数据格式是否与设备相关。若是,则可能需要修改代码。


我现在用的单卡,改成多卡的为何不能用?代码是不是要改?
答:一般情况下需要修改代码。如果是数据并行,现在的框架能够很好地支持多卡,代码的修改量很少,具体请查询网上教程。


我现在用的是1080ti,改用2080ti,为何不能用?代码是否需要改?
答:原因并不在显卡类型,而在于你所选的开发环境。
1. 2080ti是CUDA10,若你的代码是基于CUDA9/8开发,则有极少部分功能会异常。你没有看错,CUDA10并不完全向后兼容。
2. 既然2080ti用的是CUDA10,那么所装的开发框架,版本也会比较新。你没有看错,新版本的开发框架,也并不完全向后兼容。比如,在1080ti+pytorch0.4可运行的代码,在2080ti+pytorch1.3,可能就运行不了。
3. 以上两种情况,代码修改可能都比较复杂。对初学者,不建议修改代码,而是回到1080ti环境。若需要加速,可考虑使用多卡1080ti。




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表