Closed Nyannerso closed 6 months ago
我用的大佬分支下的模型
CPU可用正常使用,GPU跑就会报错
release/2.4.x分支吗?CPU可以正常识别音频文件吗?
你看看dataset里面的字典是不是正常的?
release/2.4.x分支吗?CPU可以正常识别音频文件吗?
1.0的cpu运行一切正常,GPU运行报上面的错
你看看dataset里面的字典是不是正常的?
我直接复制你文件里的,目视没看到问题
底层C++报错的信息,我也看不出是哪里除0错误。
1.0的cpu运行一切正常,GPU运行报上面的错
不是release/2.4.x分支吗?
1.0的cpu运行一切正常,GPU运行报上面的错
不是release/2.4.x分支吗?
r1.x版本的
1.0的cpu运行一切正常,GPU运行报上面的错
不是release/2.4.x分支吗?
模型是通用的吗,通用的话我试试2.4.x的
不通用的
试试2.4.x吧,1.x太久了。看不出是哪里问题。如果CPU没有问题,那应该都没有问题的,只可能是环境问题。
你换一个电脑试试?用Anaconda搭建环境
试试2.4.x吧,1.x太久了。看不出是哪里问题。如果CPU没有问题,那应该都没有问题的,只可能是环境问题。
我也怀疑是环境问题,我现在换个cudnn版本试试,不行我就用2.4.x再试试
你是用Anaconda搭建的环境吗?
你是用Anaconda搭建的环境吗?
是的,但是我这显卡是矿卡,不知道有没有关系
你可以试试其他的程序。看能不能跑
你可以试试其他的程序。看能不能跑
我在torch里面验证过了,cudnn和cuda都可用,然后我这项目有用到yolo,yolo也能正常用,我现在如果换环境的话一堆都要换(难受),所有我打算换下cudnn版本,我看底下报cudnn问题
跑这个代码:
import paddle
import paddle.nn.functional as F
import numpy as np
print(paddle.__version__)
class MyModel(paddle.nn.Layer):
def __init__(self, input_size, hidden_size):
super().__init__()
self.linear1 = paddle.nn.Linear(input_size, hidden_size)
self.linear2 = paddle.nn.Linear(hidden_size, hidden_size)
self.linear3 = paddle.nn.Linear(hidden_size, 1)
def forward(self, inputs):
x = self.linear1(inputs)
x = F.relu(x)
if paddle.rand([1,]) > 0.5:
x = self.linear2(x)
x = F.relu(x)
x = self.linear3(x)
return x
total_data, batch_size, input_size, hidden_size = 1000, 64, 256, 512
x_data = np.random.randn(total_data, input_size).astype(np.float32)
y_data = np.random.randn(total_data, 1).astype(np.float32)
model = MyModel(input_size, hidden_size)
loss_fn = paddle.nn.MSELoss(reduction='mean')
optimizer = paddle.optimizer.SGD(learning_rate=0.01,
parameters=model.parameters())
for t in range(200 * (total_data // batch_size)):
idx = np.random.choice(total_data, batch_size, replace=False)
x = paddle.to_tensor(x_data[idx,:])
y = paddle.to_tensor(y_data[idx,:])
y_pred = model(x)
loss = loss_fn(y_pred, y)
if t % 200 == 0:
print(t, float(loss))
loss.backward()
optimizer.step()
optimizer.clear_grad()
pytorch和paddlepaddle依赖的cuda和cudnn不一样的,
我在torch里面验证过了,cudnn和cuda都可用,然后我这项目有用到yolo,yolo也能正常用,我现在如果换环境的话一堆都要换(难受),所有我打算换下cudnn版本,我看底下报cudnn问题
可以创建一个新的虚拟环境
用这个命令安装,会自动配置cuda的
conda install paddlepaddle-gpu==2.3.2 cudatoolkit=10.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
跑这个代码:
import paddle import paddle.nn.functional as F import numpy as np print(paddle.__version__) class MyModel(paddle.nn.Layer): def __init__(self, input_size, hidden_size): super().__init__() self.linear1 = paddle.nn.Linear(input_size, hidden_size) self.linear2 = paddle.nn.Linear(hidden_size, hidden_size) self.linear3 = paddle.nn.Linear(hidden_size, 1) def forward(self, inputs): x = self.linear1(inputs) x = F.relu(x) if paddle.rand([1,]) > 0.5: x = self.linear2(x) x = F.relu(x) x = self.linear3(x) return x total_data, batch_size, input_size, hidden_size = 1000, 64, 256, 512 x_data = np.random.randn(total_data, input_size).astype(np.float32) y_data = np.random.randn(total_data, 1).astype(np.float32) model = MyModel(input_size, hidden_size) loss_fn = paddle.nn.MSELoss(reduction='mean') optimizer = paddle.optimizer.SGD(learning_rate=0.01, parameters=model.parameters()) for t in range(200 * (total_data // batch_size)): idx = np.random.choice(total_data, batch_size, replace=False) x = paddle.to_tensor(x_data[idx,:]) y = paddle.to_tensor(y_data[idx,:]) y_pred = model(x) loss = loss_fn(y_pred, y) if t % 200 == 0: print(t, float(loss)) loss.backward() optimizer.step() optimizer.clear_grad()
这个代码可用正常运行
用这个命令安装,会自动配置cuda的
conda install paddlepaddle-gpu==2.3.2 cudatoolkit=10.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
pip install paddlepaddle-gpu==2.3.2.post112 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html我是从官网安装的,我cuda版本是113,但是可以向下兼容我就没太在意可能是这个问题
不要用pip安装,另外创建一个conda虚拟环境,执行上面的安装命令。
不要用pip安装,另外创建一个conda虚拟环境,执行上面的安装命令。
好,我去试试
这个代码可用正常运行
你跑代码的时候,确定使用到了GPU吗?
这个代码可用正常运行
你跑代码的时候,确定使用到了GPU吗?
我刚刚改了下代码,应该是在GPU上跑的
可以watch -n 0.1 nvidia-smi
实时显示是否使用了GPU,
可以
watch -n 0.1 nvidia-smi
实时显示是否使用了GPU,
重新创建了环境,用的cuda10.2然后cudnn也用的比较之前的版本解决了,我现在把模型部署到Django上去了。但是现在模型的准确率有点不行,现在没太多时间再去训练了,2.4.x准确率会不会好点哇
会
模型都正常加载,但是加载完之后报错说整数除0的情况后面就开始报cudnn的问题,cuda和cudnn版本都验证过且都使用正常,环境版本都是大佬是一致的