在Keras中创建模型”segmentation_models”时出错

一周前,在安装了以下库后,我的Google Colaboratory笔记本运行正常:

!pip install te!pip install tensorflow==2.1!pip install keras==2.3.1!pip install -U segmentation-models!pip install -U --pre segmentation-models

以及

import tensorflow as tfimport segmentation_models as smimport globimport cv2import numpy as npfrom matplotlib import pyplot as pltimport keras from keras import normalizefrom keras.metrics import MeanIoU

它工作正常:

# 为dice_loss设置类权重(车:1.;行人:2.;背景:0.5;)dice_loss = sm.losses.DiceLoss(class_weights=np.array([0.25, 0.25, 0.25, 0.25])) focal_loss = sm.losses.CategoricalFocalLoss()total_loss = dice_loss + (1 * focal_loss)metrics = [sm.metrics.IOUScore(threshold=0.5), sm.metrics.FScore(threshold=0.5)]BACKBONE1 = 'resnet34'preprocess_input1 = sm.get_preprocessing(BACKBONE1)# 预处理输入X_train1 = preprocess_input1(X_train)X_test1 = preprocess_input1(X_test)# 定义模型model1 = sm.Unet(BACKBONE1, encoder_weights='imagenet', classes=n_classes, activation=activation)

之后,由于一个错误,我进行了更改:

!pip install -q tensorflow==2.1!pip install -q keras==2.3.1!pip install -q tensorflow-estimator==2.1import osos.environ['CUDA_VISIBLE_DEVICES'] = '0'os.environ["SM_FRAMEWORK"] = "tf.keras"from tensorflow import kerasfrom tensorflow.keras.utils import normalizefrom tensorflow.keras.metrics import MeanIoU 

在那之后,这部分不再工作:

 # 定义模型    model1 = sm.Unet(BACKBONE1, encoder_weights='imagenet', classes=n_classes, activation=activation)

错误:

/usr/local/lib/python3.7/dist-packages/tensorflow_core/python/keras/saving/hdf5_format.pyin load_weights_from_hdf5_group(f, layers)649 “””650 if ‘keras_version’ in f.attrs:–> 651 original_keras_version = f.attrs[‘keras_version’].decode(‘utf8’)652 else:653 original_keras_version = ‘1’

AttributeError: ‘str’ object has no attribute ‘decode’

加载比例值时出现问题。但我不知道如何修复它


回答:

您可能需要安装以下版本的h5py来源

pip install -q h5py==2.10.0

供您参考,我在colab上能够重现您的错误,并通过上述解决方案解决了这个问题。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注