如何更新训练模型中使用的python库的版本

jhkqcmku  于 2023-01-10  发布在  Python
关注(0)|答案(1)|浏览(161)

我在Google colab上训练了一个模型,然后丢弃了它,然后我在系统上的VS Code上完成了这个项目。我得到一个错误,说版本不匹配,因为我有最新版本的库,而colab有一个旧版本。我在我的系统上重新训练了这个模型,这花了很多时间。因为我的系统有一个基本的配置。我唯一使用colab是把训练压力放在colab上而不是我的系统上
我不知道会有版本冲突,因为我以为Colab会有最新版本的库

qgelzfjb

qgelzfjb1#

我在colab(Google)的2.9.2版和我的Raspberry 4的2.4.1版中有不同的版本,我在colab中用input_shape(220,220,3)做了一个预训练模型VGG19,并对两类图像进行了分类
所以一旦我在Colab.Google环境中训练了模型,然后从Colab中除去模型及其权重。

# serialize model to JSON
model_json =  loaded_model2.to_json()
with open('/content/drive/MyDrive/dataset/extract/model_5.json', "w") as json_file:
    json_file.write(model_json)
# serialize weights to HDF5

loaded_model2.save_weights('/content/drive/MyDrive/model_5.h5')
print("Saved model to disk")

正如我已经指出的,我打算在我的Raspberry4上使用这个训练过的模型。因此,我在Raspberry上创建了一个模型,就像我在Colab中所做的那样,但我不做“适合”。我接下来要做的是加载带有Colab.Google中生成的“权重”的.h5文件。原则上,这对我来说是有效的

model_new = tf.keras.Sequential()
model_new.add(tf.keras.applications.VGG19(include_top=false, weights='imagenet',pooling='avg',input_shape=(220,220,3)))
model_new.add(tf.keras.layers.Dense(2,activation="softmax"))
opt = tf.keras.optimizers.SGC(0,004)
model_new.compile(loss='categorical_crossentropy',optimizer=opt,metrics=['accuracy'])

model_new.load_weights('/home/pi/projects/models/model_5.h5)

相关问题