小编Riz*_*wan的帖子

加载Keras保存的模型时,是否有人得到“ AttributeError:'str'对象没有属性'decode'”?

训练后,我使用以下命令保存了Keras整个模型和Only Weights

model.save_weights(MODEL_WEIGHTS) and model.save(MODEL_NAME)
Run Code Online (Sandbox Code Playgroud)

模型和权重已成功保存,没有错误。我可以简单地使用model.load_weights成功加载权重,它们很不错,但是当我尝试通过load_model加载保存模型时,出现了错误。

File "C:/Users/Rizwan/model_testing/model_performance.py", line 46, in <module>
Model2 = load_model('nasnet_RS2.h5',custom_objects={'euc_dist_keras': euc_dist_keras})
File "C:\Users\Rizwan\AppData\Roaming\Python\Python36\site-packages\keras\engine\saving.py", line 419, in load_model
model = _deserialize_model(f, custom_objects, compile)
File "C:\Users\Rizwan\AppData\Roaming\Python\Python36\site-packages\keras\engine\saving.py", line 321, in _deserialize_model
optimizer_weights_group['weight_names']]
File "C:\Users\Rizwan\AppData\Roaming\Python\Python36\site-packages\keras\engine\saving.py", line 320, in <listcomp>
n.decode('utf8') for n in
AttributeError: 'str' object has no attribute 'decode'
Run Code Online (Sandbox Code Playgroud)

我从未收到此错误,我曾经成功加载任何模型。我正在将Keras 2.2.4与tensorflow后端一起使用。Python 3.6。我的培训准则是:

from keras_preprocessing.image import ImageDataGenerator
from keras import backend as K
from keras.models import load_model
from keras.callbacks import ReduceLROnPlateau, TensorBoard, 
ModelCheckpoint,EarlyStopping
import pandas as pd

MODEL_NAME = …
Run Code Online (Sandbox Code Playgroud)

python machine-learning deep-learning keras

5
推荐指数
6
解决办法
1491
查看次数

在PyTorch中,如何将cuda()相关代码转换为CPU版本?

我有一些现有的 PyTorch 代码cuda()如下, whilenet是一个MainModel.KitModel对象:

net = torch.load(model_path)
net.cuda()
Run Code Online (Sandbox Code Playgroud)

im = cv2.imread(image_path)
im = Variable(torch.from_numpy(im).unsqueeze(0).float().cuda())
Run Code Online (Sandbox Code Playgroud)

我想在没有任何GPU的机器上测试代码,所以我想将cuda代码转换为CPU版本。我尝试查看一些有关 PyTorch CPU/GPU 切换的相关帖子,但它们与使用有关device,因此不适用于我的情况。

gpu machine-learning image-processing computer-vision pytorch

5
推荐指数
1
解决办法
1万
查看次数