tensorflow 查看模型中的参数列表及对应的值

  • tensorflow的checkpoint文件存储模型使用的变量对象,其是一个二进制文件,将变量名映射到对用的tensor值,因此可通过该文件查看参数对应的值
#使用NewCheckpointReader来读取ckpt里的变量
from tensorflow.python import pywrap_tensorflow
# 以下XXX为模型保存chechpoint文件的相对路径,如"model/bestParMTCR_gateBehavior.ckpt"
checkpoint_path = "XXX"  
reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path) #tf.train.NewCheckpointReader
var_to_shape_map = reader.get_variable_to_shape_map()
for key in var_to_shape_map:
    print("tensor_name: ", key)      # 参数名
    print(reader.get_tensor(key))    # 参数值

  • 以上版本仅支持tf1, 在tf2环境下可以使用以下方式进行查看:
import os
import tensorflow as tf
import tensorflow.compat.v1 as tfv1
from tensorflow.python import pywrap_tensorflow
path = "ckpt file path"
reader = tfv1.train.NewCheckpointReader(path)
var_to_shape_map = reader.get_variable_to_shape_map()
# Print tensor name and values
for key in var_to_shape_map:
    print("tensor_name: ", key)      # 参数名
    print(reader.get_tensor(key))    # 参数值
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TensorFlow的多标签模型可以使用多输出层的神经网络来实现。每个输出层对应一个标签,输出层的激活函数可以是sigmoid或softmax。在训练时,可以使用二元交叉熵(binary cross-entropy)或交叉熵(cross-entropy)作为损失函数。 下面是一个简单的多标签图像分类示例: ```python import tensorflow as tf # 定义输入 x = tf.keras.Input(shape=(32, 32, 3)) # 定义模型 base_model = tf.keras.applications.MobileNetV2(input_shape=(32, 32, 3), include_top=False, weights=None) x = base_model(x) x = tf.keras.layers.GlobalAveragePooling2D()(x) output1 = tf.keras.layers.Dense(1, activation='sigmoid', name='label1')(x) output2 = tf.keras.layers.Dense(1, activation='sigmoid', name='label2')(x) model = tf.keras.Model(inputs=x, outputs=[output1, output2]) # 定义损失函数和优化器 loss_fn = tf.keras.losses.BinaryCrossentropy(from_logits=True) optimizer = tf.keras.optimizers.Adam(learning_rate=0.001) # 编译模型 model.compile(optimizer=optimizer, loss=[loss_fn, loss_fn]) # 训练模型 model.fit(train_dataset, epochs=10) # 评估模型 model.evaluate(test_dataset) # 预测结果 predictions = model.predict(test_dataset) ``` 在训练和评估模型时,需要传递多个标签的真实和预测。可以使用`loss_weights`参数来调整不同标签的损失权重,以使模型更关注某些标签的准确性。 在展示分类结果时,可以使用`sklearn.metrics`包的`classification_report`函数来生成分类报告,或者绘制混淆矩阵来展示不同标签之间的交叉情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值