如何使用tf.keras从saveedModel访问图层

用户

Tensorflow 2.0

的Python 3.7

我使用tf.keras训练并保存了这样的模型

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import datasets, layers, models 
from tensorflow.keras.datasets import mnist

(train_images, train_labels), (test_images, test_labels) = datasets.cifar10.load_data()

# Normalize pixel values to be between 0 and 1
train_images, test_images = train_images / 255.0, test_images / 255.0

class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer',
               'dog', 'frog', 'horse', 'ship', 'truck']

model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10))

model.compile(optimizer='adam',
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
              metrics=['accuracy'])

history = model.fit(train_images, train_labels, epochs=10, 
                    validation_data=(test_images, test_labels))

test_loss, test_acc = model.evaluate(test_images,  test_labels, verbose=2)

model.save("saved_model_pretrained/")

我想加载模型以便在另一个项目中从中提取图层

image_model = tf.keras.models.load_model('pathToFolder')

我试图得到这样的图层:

layer_indices = []
for index, layer in enumerate(image_model.layers):
    layers_indices.append(index)

但是我收到此错误

future: <Task finished coro=<server_task.<locals>.server_work() done, defined at ...\...\xx.py:249> exception=AttributeError("'_UserObject' object has no attribute 'layers'")>
Traceback (most recent call last):
  File "...\...\xx.py", line 280, in server_work
    image_model, layers_indices = init(model_choice, layers_to_see)
  File "...\...\xx.py", line 148, in init
    for index, layer in enumerate(image_model.layers):
AttributeError: '_UserObject' object has no attribute 'layers'

任何帮助深表感谢

哈姆扎

首先,您应该正确保存模型!使用以下语法将模型保存/加载为(.h5)文件-保存模型的常用格式:

model.save("model.h5")
image_model = tf.keras.models.load_model('model.h5')

然后,您image_model将拥有layers它。就您而言,image_model.layers产生:

[<tensorflow.python.keras.layers.convolutional.Conv2D at 0x1d81b325898>,
 <tensorflow.python.keras.layers.pooling.MaxPooling2D at 0x1d81b325f98>,
 <tensorflow.python.keras.layers.convolutional.Conv2D at 0x1d82b06b2e8>,
 <tensorflow.python.keras.layers.pooling.MaxPooling2D at 0x1d82c1dbe10>,
 <tensorflow.python.keras.layers.convolutional.Conv2D at 0x1d82c17d2e8>,
 <tensorflow.python.keras.layers.core.Flatten at 0x1d82c17df98>,
 <tensorflow.python.keras.layers.core.Dense at 0x1d82c2c8320>,
 <tensorflow.python.keras.layers.core.Dense at 0x1d82b016048>]

layers_indices = []
for index, layer in enumerate(image_model.layers):
    layers_indices.append(index)
layers_indices

产生:

[0, 1, 2, 3, 4, 5, 6, 7]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在keras图层中使用SVD?

来自分类Dev

如何添加keras辍学图层?

来自分类Dev

如何使用 tf.train 训练使用 tf.Keras 模型创建的模型?

来自分类Dev

如何使用TF2.0中的内置Keras生成CNN热图(tf.keras)

来自分类Dev

如何在tf.data.Dataset生成器中使用tf.keras模型?

来自分类Dev

如何防止keras重命名图层

来自分类Dev

如何为合并的Keras模型添加图层?

来自分类Dev

使用Keras查看图层激活

来自分类Dev

TensorFlow 2-tf.keras:如何使用tf.data API和TFRecords训练像MTCNN这样的tf.keras多任务网络

来自分类Dev

如何在自定义训练循环中使用tf.keras.layers.BatchNormalization()?

来自分类Dev

如何使用tf.keras.Model.summary查看在父模型中的子模型的层?

来自分类Dev

Tensorflow:如何在多类分类中使用tf.keras.metrics?

来自分类Dev

如何为使用附加参数的tf.keras创建自己的损失函数?

来自分类Dev

如何在Tensorflow Keras中使用tf.nn.sampled_softmax_loss?

来自分类Dev

如何在tf.data.Dataset.map()中使用Keras的predict_on_batch?

来自分类Dev

在tf.function中使用tf.keras.model.predict

来自分类Dev

如何做自定义keras图层矩阵乘法

来自分类Dev

如何从keras图层的输出中打印数据?

来自分类Dev

如何操作Keras图层?:立体视觉成本量

来自分类Dev

使用自定义图层保存Keras模型

来自分类Dev

如何像在 Keras 中使用函数一样使用图层?

来自分类Dev

tf.keras如何保存ModelCheckPoint对象

来自分类Dev

如何通过索引访问pytorch模块中的图层?

来自分类Dev

Leaflet.js:如何访问和更新图层内的标记

来自分类Dev

如何在Keras中使用“有状态”变量/张量创建自定义图层?

来自分类Dev

如何排除图层权重并仅保留我想要的权重并使用keras预测模型?

来自分类Dev

如何使用PyTorch在预训练模型上添加新图层?(给出了Keras示例。)

来自分类Dev

在Keras模型中使用Tf-Idf

来自分类Dev

tf.keras-仅将特定图层应用于特定功能

Related 相关文章

  1. 1

    如何在keras图层中使用SVD?

  2. 2

    如何添加keras辍学图层?

  3. 3

    如何使用 tf.train 训练使用 tf.Keras 模型创建的模型?

  4. 4

    如何使用TF2.0中的内置Keras生成CNN热图(tf.keras)

  5. 5

    如何在tf.data.Dataset生成器中使用tf.keras模型?

  6. 6

    如何防止keras重命名图层

  7. 7

    如何为合并的Keras模型添加图层?

  8. 8

    使用Keras查看图层激活

  9. 9

    TensorFlow 2-tf.keras:如何使用tf.data API和TFRecords训练像MTCNN这样的tf.keras多任务网络

  10. 10

    如何在自定义训练循环中使用tf.keras.layers.BatchNormalization()?

  11. 11

    如何使用tf.keras.Model.summary查看在父模型中的子模型的层?

  12. 12

    Tensorflow:如何在多类分类中使用tf.keras.metrics?

  13. 13

    如何为使用附加参数的tf.keras创建自己的损失函数?

  14. 14

    如何在Tensorflow Keras中使用tf.nn.sampled_softmax_loss?

  15. 15

    如何在tf.data.Dataset.map()中使用Keras的predict_on_batch?

  16. 16

    在tf.function中使用tf.keras.model.predict

  17. 17

    如何做自定义keras图层矩阵乘法

  18. 18

    如何从keras图层的输出中打印数据?

  19. 19

    如何操作Keras图层?:立体视觉成本量

  20. 20

    使用自定义图层保存Keras模型

  21. 21

    如何像在 Keras 中使用函数一样使用图层?

  22. 22

    tf.keras如何保存ModelCheckPoint对象

  23. 23

    如何通过索引访问pytorch模块中的图层?

  24. 24

    Leaflet.js:如何访问和更新图层内的标记

  25. 25

    如何在Keras中使用“有状态”变量/张量创建自定义图层?

  26. 26

    如何排除图层权重并仅保留我想要的权重并使用keras预测模型?

  27. 27

    如何使用PyTorch在预训练模型上添加新图层?(给出了Keras示例。)

  28. 28

    在Keras模型中使用Tf-Idf

  29. 29

    tf.keras-仅将特定图层应用于特定功能

热门标签

归档