当前位置: 首页 > 知识库问答 >
问题:

在tenorflow代码中使用keras层

商曦
2023-03-14

假设我有一个简单的神经网络,其中包含一个输入层和一个用张量流编程的单个卷积层:

  # Input Layer
  input_layer = tf.reshape(features["x"], [-1, 28, 28, 1])

  # Convolutional Layer #1
  conv1 = tf.layers.conv2d(
      inputs=input_layer,
      filters=32,
      kernel_size=[5, 5],
      padding="same",
      activation=tf.nn.relu)

我省略了功能的网络定义的任何其他部分。

如果我想在这个卷积层之后添加一个LSTM层,我必须使卷积层为时间分布(在keras语言中),然后将时间分布层的输出放入LSTM。

Tensorflow提供了进入tf中keras层的通道。凯拉斯。图层。我可以在tensorflow代码中直接使用keras层吗?如果是,如何?我也可以用tf吗。凯拉斯。图层。lstm用于实现lstm层?

所以一般来说:是纯tensorflow代码和keras代码的混合,我可以使用tf吗。凯拉斯。图层?

共有1个答案

郜昊苍
2023-03-14

是的,这是可能的。

导入TensorFlow和Keras并将您的Keras会话链接到TF会话:

import tensorflow as tf
import keras
from keras import backend as K

tf_sess = tf.Session()
K.set_session(tf_sess)

现在,在模型定义中,可以混合TF和Keras层,如下所示:

# Input Layer
input_layer = tf.reshape(features["x"], [-1, 28, 28, 1])

# Convolutional Layer #1
conv1 = tf.layers.conv2d(
    inputs=input_layer,
    filters=32,
    kernel_size=[5, 5],
    padding="same",
    activation=tf.nn.relu)

# Flatten conv output
flat = tf.contrib.layers.flatten(conv1)

# Fully-connected Keras layer
layer2_dense = keras.layers.Dense(128, activation='relu')(flat)

# Fully-connected TF layer (output)
output_preds = tf.layers.dense(layer2_dense, units=10)

这个答案来自弗朗索瓦·乔利特(FrancoisChollet)的一篇Keras博客文章。

 类似资料:
  • 问题内容: 我正在尝试创建自己的ansible模块(它将更新cmdb),并且正在寻找如何在模块代码中使用ansible_facts? 我的模块脚本的示例是: 我应该使用什么变量在模块脚本中调用ansible_facts?(还有可能吗?)。 问题答案: 我怀疑这是否可以从模块本身内部实现,因为它们是在具有预定义参数的远程计算机的上下文中执行的。 但是,您可以使用动作插件(在本地上下文中执行)包装模块

  • 我在这里有点困惑,在撰写本文时,最新的Anaconda发行版2018.12带有安装Microsoft Visual Studio Code的选项,这很棒。 当启动VSC和并重新安装Anaconda,我可以看到,我认为这是Anaconda Python环境,但是,当我尝试运行一些命令时,我得到: conda:术语“conda”无法识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,

  • ​clang-format 是个自动格式化 C/C++/Objective-C 代码的工具, 可以让开发人员不需要担心代码审查期间的样式问题. 强烈建议在打开请求之前格式化已更改的C ++代码,这将节省您和审阅者的时间。 你可以通过 npm install -g clang-format 安装 clang-format 和 git-clang-format. 根据 Electron C++ 代码样

  • 叮当 是自动检查 C/C++/Objective-C 代码的样式冲突、编程 错误和最佳实践的工具。 Electron's clang-tidy integration is provided as a linter script which can be run with npm run lint:clang-tidy. While clang-tidy checks your on-disk f

  • 问题内容: 考虑: 如何在源代码中声明UTF-8字符串? 问题答案: 在源头中,你可以声明: 在PEP 0263中进行了描述: 然后,你可以在字符串中使用UTF-8: 在Python 3中不需要此声明,因为UTF-8是默认的源编码(请参阅PEP 3120)。 此外,值得验证你的文本编辑器是否已将代码正确编码为UTF-8。否则,你可能会有不被解释为UTF-8的不可见字符。

  • 我正在尝试将jQuery添加到Visual Studio代码中的TypeScript项目中。目标是通过$使用它,就像我在纯JavaScript中所做的那样,而不在html的头部提供jQuery标记。 我已经在项目中安装了我的jquery及其定义: 因此,智能感知非常有效: 但是打开页面,我得到了错误:“ReferenceError: $ is not defined”。 我已经阅读了几个相关主题,