DNN_model.load_state_dict(torch.load('DNN_model.pth'))代码在这一步报错,错误为RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.
时间: 2024-03-25 08:36:38 浏览: 145
这个错误的意思是你的代码在尝试将模型加载到 CUDA 设备上,但是你的电脑上没有可用的 CUDA 设备。建议你使用`torch.load`,并设置`map_location=torch.device('cpu')`来将模型加载到 CPU 上。可以尝试如下代码:
```python
device = torch.device('cpu') # 加载到CPU上
model = DNN_model().to(device) # 模型也要移到CPU上
model.load_state_dict(torch.load('DNN_model.pth', map_location=device))
```
这样,你就可以将模型加载到 CPU 上,并解决这个错误。
相关问题
from keras.utils.vis_utils import plot_model from keras.models import Sequential from keras.layers import Dense, Dropout import pydot import graphviz # 构建神经网络 DNN_model = Sequential() DNN_model.add(Dense(64, input_dim=8, activation='relu')) DNN_model.add(Dense(8, input_dim=8, activation='relu')) DNN_model.add(Dropout(0.5)) DNN_model.add(Dense(8, activation='relu')) DNN_model.add(Dense(4, activation='relu')) DNN_model.add(Dropout(0.5)) DNN_model.add(Dense(2, activation='softmax')) # 可视化神经网络结构 plot_model(DNN_model, to_file='DNN5_model.png', show_shapes=True, show_layer_names=True)横纵坐标转为中文
您可以通过以下代码将横纵坐标转为中文:
```python
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # 设置中文字体为黑体
plt.rcParams['axes.unicode_minus'] = False # 解决负号无法显示的问题
```
然后在可视化神经网络结构的代码中加入以下代码:
```python
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # 设置中文字体为黑体
plt.rcParams['axes.unicode_minus'] = False # 解决负号无法显示的问题
from keras.utils.vis_utils import plot_model
from keras.models import Sequential
from keras.layers import Dense, Dropout
import pydot
import graphviz
# 构建神经网络
DNN_model = Sequential()
DNN_model.add(Dense(64, input_dim=8, activation='relu'))
DNN_model.add(Dense(8, input_dim=8, activation='relu'))
DNN_model.add(Dropout(0.5))
DNN_model.add(Dense(8, activation='relu'))
DNN_model.add(Dense(4, activation='relu'))
DNN_model.add(Dropout(0.5))
DNN_model.add(Dense(2, activation='softmax'))
# 可视化神经网络结构
plot_model(DNN_model, to_file='DNN5_model.png', show_shapes=True, show_layer_names=True)
```
这样,您就可以将横纵坐标转为中文了。
阅读全文