1. 现象:使用os.environ['CUDA_VISIBLE_DEVICES'] 指定了GPU,但是模型还是只能加载在‘0’卡上。
2.原因:os.environ['CUDA_VISIBLE_DEVICES'] 必须在import torch之前
3.隐藏的坑:
如果import进来的其他文件中import了torch,os.environ['CUDA_VISIBLE_DEVICES'] 也无法生效,因为执行.py文件时会优先import其他包中的torch。
eg:
file 1:
# MyTest.py
import torch
print("this is MyTest.py")
file 2:
# test.py
import Mytest
os.environ['CUDA_VISIBLE_DEVICES'] = '1'
#此时,该文件虽然没有“import torch”, 但os.environ['CUDA_VISIBLE_DEVICES'] 依然无效
#因为import MyTest时已经“import torch”了。
最后
以上就是伶俐发箍最近收集整理的关于os.environ[‘CUDA_VISIBLE_DEVICES‘] 无法生效原因的全部内容,更多相关os.environ[‘CUDA_VISIBLE_DEVICES‘]内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复