我是靠谱客的博主 大方鸵鸟,最近开发中收集的这篇文章主要介绍tensorflow打印出模型中任意特征层(三)(tensorflow模型可视化),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

tensorflow打印出模型中任意特征层(三)(tensorflow模型可视化)

1、前面二个内容中将了使用model.add()和class()搭建的网络,将其模型的任何一层的特征给打印出来,那么这次的内容将介绍如何使用tensorflow的高级API搭建的模型,将模型的特征打印出来。
如果你是使用这种API(如下图)搭建的API,那么前两次的内容不适用与本次API搭建的可视化。

x = Conv1D(filters=None,kernel_size=None,strides=None,padding=None)(input)

下面开始介绍本次可视化的步骤。大致是你需要将你训练后的模型保存下来,然后加载模型,选择要可视化的层,把你选择的层的特征给打印出来,下面开始仔细的介绍。
2、首先你需要保存你的模型,使用下列的代码保存模型,最后在model.fit()中调用。具体如下。

input = tf.keras.Input(shape=())#根据自己的数据集设定形状
x1 = Conv1D(#里面的参数自几填写)(input)
x2 = Conv1D()(x1)
x3 = Conv1D()(x2)
model = tf.keras.Model(input=input,output=x3)
model.compile(...)
checkpoint_path = "SK/L+CEA/cp.ckpt"
checkpoint_dir = os.path.dirname(checkpoint_path)
# 创建一个检查点回调
cp_callback = tf.keras.callbacks.ModelCheckpoint(checkpoint_path,
save_weights_only=True,
verbose=1,period=100)
model.fit(callbacks=[cp_callback])

3、保存模型之后,我们加载模型,具体的代码如下所示

input = tf.keras.Input(shape=())#根据自己的数据集设定形状
x1 = Conv1D(#里面的参数自几填写)(input)
x2 = Conv1D()(x1)
x3 = Conv1D()(x2)
model = tf.keras.Model(input=input,output=x3)
model.load_weights(checkpoint_path)
loss,acc = model.evaluate(x_test,y_test,verbose=2)#检查所加的模型是否正确
print("Untrained model, accuracy: {:5.2f}%".format(100*acc))

4、那么我们怎么进行可视化呢?首先你只需要把tf.keras.Model()中的output改成你想要打出的特征层,比如我们想打印出x2的特征层。具体的代码如下。我们使用model.predict()这个函数。model.predict()是好像在cpu上运行的,因此不必再把数据从gpu上办到cpu上,再进行格式转化在保存。

input = tf.keras.Input(shape=())#根据自己的数据集设定形状
x1 = Conv1D(#里面的参数自几填写)(input)
x2 = Conv1D()(x1)
x3 = Conv1D()(x2)
model = tf.keras.Model(input=input,output=x2)
model.compile(...)
model.load_weights(checkpoint_path)
a = model.predict(x_test)
print(a)

以上就是-tensorflow打印出模型中任意特征层(三)(tensorflow模型可视化)-的内容了

最后

以上就是大方鸵鸟为你收集整理的tensorflow打印出模型中任意特征层(三)(tensorflow模型可视化)的全部内容,希望文章能够帮你解决tensorflow打印出模型中任意特征层(三)(tensorflow模型可视化)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部