
左边为单独运行,后面为函数中调用报错。。
主机为windows,含有GPU.现在安装了pytorch12.9, cuda安装了是12.9版本,cuda toolkit安装12.9版本,在python中运行命令可以检测到cuda是存在的,但是在运行train.py代码后报错说没有可用的cuda

阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
你遇到的问题是,torch.cuda单独使用为true,但是在调用中会出现torch.cuda.is_available() is False。这个问题可能是由于 CUDA_VISIBLE_DEVICES 环境变量的原因。
在 Windows 上,CUDA_VISIBLE_DEVICES 环境变量可以在命令行中设置,可以使用以下命令:
set CUDA_VISIBLE_DEVICES=0
其中,0 是 GPU 的索引号,可以根据你的 GPU 数量和索引号进行设置。
在 Python 中,可以使用以下代码来设置 CUDA_VISIBLE_DEVICES:
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '0'
如果你已经设置了 CUDA_VISIBLE_DEVICES,但仍然出现问题,可以尝试以下几点:
torch.cuda.device_count() 函数来检查 GPU 的数量。如果你仍然无法解决问题,可以提供更多的日志信息和代码,以便我更好地帮助你解决问题。