如何实现每个时间步都带有向量输入的LSTM网络?

2024-01-07

我正在尝试在 Tensorflow 中创建一个生成 LSTM 网络。我有这样的输入向量:

[[0 0 1 0 ... 1 0]
 [0 0 1 0 ... 1 0]
 ...
 [0 0 0 1 ... 0 1]]

该矩阵中的每个向量都是一个时间步,或者换句话说,每个向量应该是 LSTM 的一个输入。输出将是相同的,只是它们会向右移动一个时间步长(我正在尝试预测下一个输出)。然后我列出了这些矩阵,比如说其中五个 - 这是一批。最后我有这些批次的列表,它们本质上是我的训练数据。所以基本上我有 4D 张量。

我尝试过做这样的事情,但显然它不起作用,而且我不太确定我明白如何解决它:

def LSTM(x_, weights, biases):
    cell = tf.contrib.rnn.BasicLSTMCell(RNN_HIDDEN)

    # initial state
    batch_size = tf.shape(x_)[1]
    initial_state = cell.zero_state(batch_size, tf.float32)

    rnn_outputs, rnn_states = tf.nn.dynamic_rnn(cell,
                                                x_,
                                                initial_state=initial_state,
                                                time_major=False)
    return tf.matmul(rnn_outputs[-1], weights['out']) + biases['out']

那么,我应该如何表示数据以便网络能够处理它?

另外,我不太确定在这种情况下如何定义损失。我的向量是 88 维的,其中每个索引代表一种音调。 “1”表示播放音调,“0”表示关闭音调。另外,当播放特定音调然后再次播放时,我用“2”标记(为简洁起见,向量被截断):

[0 0 1 0]
[0 0 1 0]
[0 0 2 0]
[0 0 2 0]

如果只有这些,我就无法区分它是一个长音,还是两个(或三个、四个)短音。这样我就在 1 秒和 2 秒之间交替,每次交替都意味着再次按下一个音调。

这里需要手动计算交叉熵吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何实现每个时间步都带有向量输入的LSTM网络? 的相关文章

随机推荐

  • 正则表达式 - 将匹配的文本移动到行的前面

    我一直在使用正则表达式 在 textmate 查找和替换工具中 将我收到的值表重新格式化为 PHP 数组 我已经完成了大部分工作 但仍在为最后的改变而苦苦挣扎 当前状态 subSectors 1 Crop Animal Production
  • 从 NodeJS 查询 Oracle 数据库中的大数据集

    我目前正在开展一个工作项目 其中我有一个 Oracle 10 数据库表 其中包含约 310K 的给予或获取 10 30K 行 目标是在有角度的前端中显示这些行 但是通过 NodeJS 返回所有这些行需要花费大量时间 鉴于我是第一次使用 No
  • 仅允许访客在 WooCommerce 中结帐特定产品

    以下代码将自定义字段添加到管理产品设置 以在产品级别管理访客结账 Display Guest Checkout Field add action woocommerce product options general product dat
  • 如何在角度应用程序的故事书中加载全局scss文件?

    我正在尝试加载故事书中的自定义全局样式文件 theme default scss 虽然我的组件正在故事书中加载 但样式没有被应用 我遵循了本教程故事书官方文档 https storybook js org docs configuratio
  • 为什么VARCHAR需要长度指定?

    为什么我们总是需要指定VARCHAR length 而不是仅仅VARCHAR 无论如何它都是动态的 UPD 我特别困惑的是它是强制性的 例如在 MySQL 中 VARCHAR 的 长度 不是内容的长度 而是内容的最大长度 VARCHAR 的
  • Pandas:替换字符串列值

    我有一个 pandas 数据框 其中有一个我正在尝试格式化的成本列 基本上 替换字符串并将其标准化 因为成本值是从不同来源提取的 还有一些 NaN 这是一些示例数据 2 75 nan 4 150000 25 00 4 50 我有以下代码 用
  • 在tomcat中配置内容安全策略

    我读到了有关配置 实现 Content Security Policy 标头的信息 并且遇到了两种执行此操作的方法 使用实现 Filter 的自定义过滤器 如下所示this https stackoverflow com questions
  • 如何使用 Kusto 在 Grafana 上执行多图时间序列

    嗯 我想这样做 https grafana com docs grafana v9 0 basics timeseries dimensions https grafana com docs grafana v9 0 basics time
  • 为什么“scheduledTimer”在块外设置时会正确触发,但在块内却不能?

    当在完成块外部调用时 以下代码片段可以完美运行 但是当我在块内部设置计时器时 计时器永远不会被触发 我不明白为什么会有差异 self timer Timer scheduledTimer timeInterval 1 target self
  • 在 redux-saga 中等待

    我想在传奇中引入延迟 使用 redux saga 我怎样才能做到这一点 如果 redux saga 提供了 API 我也会对如何手动实现它感兴趣 function save payload yield put pending I want
  • QImage 加载某些图像的方向错误

    我从如下所示的图像文件实例化 QImage 然后将其渲染在 QWidget 上 QImage const QString fileName const char format 0 对于大多数图像来说 一切正常 但对于一些图像 QImage
  • Python venv不创建虚拟环境

    我正在尝试使用以下命令为我当前的 Django 项目创建一个虚拟环境 python3 m venv env 但是该命令不会创建任何包含 bin include lib 文件夹的目录 我在这里到底缺少什么 有时系统的路径环境不知道虚拟环境执行
  • 推送到 Github 时 Git 推送挂起?

    每次我尝试推送到 github 时 Git Push 都会挂起 我正在使用 Cygwin 和 Windows 7 Git 可以在本地跟踪分支 提供状态 设置全局 user name 和 user email 并允许提交 我还是个新手 正在学
  • 使用 Xamarin 在 Android 中播放视频

    在 Xamarin for Android 中使用 VideoView 我想播放资源中的视频 这是代码 var videoView VideoView FindViewById
  • 如何在不使用 ifelse 的情况下基于范围创建因子列?

    我的数据框中有一个数字字段 例如月收入 范围从 15000 印度卢比到 60000 印度卢比不等 我想要一个新字段 比如 Income group 它将有一个与收入范围相对应的数字 比如小于 15000 为 1 大于 15000 但小于 3
  • EXTJS 和 PHP 上传文件

    我在 EXTJS 中使用 UploadFile 示例 http dev sencha com deploy dev examples form file upload html http dev sencha com deploy dev
  • azure托管的mac管道,关于如何使其更快的建议,目前非常慢,在桌面上5分钟,在服务器上接近20

    我有这个管道 效果很好 但每次构建都非常耗时 桌面 xcode 构建需要不到 5 分钟 在 mac 云服务器中需要 20 分钟特别是它下载配置和编译本机 gem 的部分 安装 gems 和 cocoapods 脚本 任务如下然后是下面的 F
  • 分面 ggplot 中轴文本的条件格式

    我正在尝试根据几项研究的效果大小绘制森林图 按其类型 X 或 Y 划分 数据集包括代表 X 类型研究和 Y 类型研究的汇总统计数据的行 指定为study Summary study lt as factor c A B C A B Summ
  • rbenv:ruby:找不到命令

    我在本地目录上使用 rbenv 和 ruby 版本 1 9 1 p378 Command ruby v给出以下错误 rbenv ruby command not found The ruby command exists in these
  • 如何实现每个时间步都带有向量输入的LSTM网络?

    我正在尝试在 Tensorflow 中创建一个生成 LSTM 网络 我有这样的输入向量 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 该矩阵中的每个向量都是一个时间步 或者换句话说 每个向量应该是 LSTM 的一个