- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题是关于使用 Tensorflow 的编码策略。我想创建一个由以下内容组成的小型分类器网络:
在 tensorflow 中,要使用类 tf.nn.dynamic_rnn(),我们需要将一批序列发送到网络。到目前为止,它运行良好(我喜欢这个库)。
但是因为我想在我的序列的每个特征上应用一个简单的层(在我的描述中是第二层),我想知道:
或
通常,它应该给我相同的结果?如果是这样,我应该使用什么?
感谢您的宝贵时间!
最佳答案
我最近遇到了类似的情况,我想链接循环层和非循环层。
Do i preceed my LSTM layer with this simple layer and pass both to the tf.nn.dynamic_rnn() operation...
这行不通。函数 dynamic_rnn
需要一个单元格作为它的第一个参数。单元格是继承自 tf.nn.rnn_cell.RNNCell
的类。此外,dynamic_rnn
的第二个输入参数应该是至少具有 3 个维度的张量,其中前两个维度是批处理和时间 (time_major=False
) 或时间和批处理(time_major=True
)。
Do i use the function tf.map_fn() twice (one to unpack batches, one to unpack sequences), which if a understood well, is able to unpack my sequences and apply a layer on each features line.
这可能会奏效,但在我看来这不是一个高效且干净的解决方案。首先,没有必要“解包批处理”,因为您可能想对特征批处理和时间步长执行一些操作,其中批处理中的每个观察值都独立于其他观察值。
我对这个特定问题的解决方案是创建 tf.nn.rnn_cell.RNNCell
的子类。在我的例子中,我想要一个简单的前馈层,它会迭代所有的时间步长,并且可以在 dynamic_rnn
中使用:
import tensorflow as tf
class FeedforwardCell(tf.nn.rnn_cell.RNNCell):
"""A stateless feedforward cell that can be used with MultiRNNCell
"""
def __init__(self, num_units, activation=tf.tanh, dtype=tf.float32):
self._num_units = num_units
self._activation = activation
# Store a dummy state to make dynamic_rnn happy.
self.dummy = tf.constant([[0.0]], dtype=dtype)
@property
def state_size(self):
return 1
@property
def output_size(self):
return self._num_units
def zero_state(self, batch_size, dtype):
return self.dummy
def __call__(self, inputs, state, scope=None):
"""Basic feedforward: output = activation(W * input)."""
with tf.variable_scope(scope or type(self).__name__): # "FeedforwardCell"
output = self._activation(tf.nn.rnn_cell._linear(
[inputs], self._num_units, True))
return output, self.dummy
此类的实例可以在具有“正常”RNN 单元的列表中传递给 tf.nn.rnn_cell.MultiRNNCell
初始化器。生成的对象实例可以作为 cell
输入参数传递给 dynamic_rnn
。
重要提示:dynamic_rnn
期望循环单元格在调用时返回一个状态。因此,我在 FeedforwardCell
中使用 dummy
作为假状态变量。
我的解决方案可能不是将循环层和非循环层链接在一起的最流畅或最佳方式。我有兴趣听取其他 Tensorflow 用户的建议。
编辑如果您选择使用 dynamic_rnn
的 sequence_length
输入参数,则 state_size
应该是 self._num_units
并且 dummy
状态的形状应该是 [batch_size, self.state_size]
。换句话说,状态不能是标量。请注意,bidirectional_dynamic_rnn
要求 sequence_length
参数不是None
,而 dynamic_rnn
没有此要求。 (这在 TF 文档中记录得很薄弱。)
关于python - Tensorflow:使用 tf.mat_fn() 或 tf.nn.dynamic_rnn() 在 LSTM 之前应用层有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40887570/
理论上,一般来说: 数据访问层保存数据库连接和查询。 业务层保存模型和逻辑。 服务层包含应用程序服务的主要服务。 表示层保存网站。 我说得对吗?我错过了什么吗? 什么是基础设施层? 最佳答案 是的,我
大家好,我是汤师爷~ 线上线下交易系统的应用架构包括终端、应用层、领域层和关联系统。 应用层能力 应用层定义软件的应用功能,负责接收用户请求、协调领域层执行任务并返回结果。主要包括以下模块:
我知道 Android 没有像 Activity 具有 onPause 那样的应用程序级 onPause,但看起来我需要类似的功能。我刚才问了一个(愚蠢的)问题(http://stackoverflo
2022-12-04 18:31:01 纪念一下博主的《漫谈计算机网络》连载博客 浏览量破500了. 今天更新完结篇. 面试答不上?计网很枯燥? 听说你学习 计网 每次记了都会忘? 不妨抽时间和我
大家好,我是汤师爷~ 在这篇文章中,我们一起探讨订单履约系统的应用架构设计。 应用架构设计 我们前面讨论了系统的核心概念模型和拆单逻辑。接下来,让我们从应用架构的角度,深入了解系统的各个层次
大家好,我是汤师爷~ 大厂对候选人的要求较高,即使是20k薪资的岗位,也期望应聘者能够独立承担工作职责。 对于30-40k薪资的岗位,需要具备独立系统设计和小型架构设计的能力。 技术专家和架构师
我一直在尝试构建一个基于 DDD 的应用程序,但我有一些问题。 我有一些层:- 表示层 - MVC- 应用层- 域层... 首先,我想知道我是否可以在ApplicationLayer中执行此操作(获取
我想知道如果我创建一个 OkHttpClient 实例来服务我的“整个 android 应用程序”,是否会出现任何性能瓶颈或问题。即在我的 Application 类中,我创建了一个包含 OkHttp
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 3年前关闭。 Improve this qu
我是一名优秀的程序员,十分优秀!