python - tensorflow 如何使用 tf.map_fn 批量处理 (?, 40,30,128) 和 (?,40,30) 的两个输入张量形状,?是我的批量大小
问题描述
我正在使用 TF1.12。
我有一个函数输入大小是fn([40, 30, 128],[40, 30])
并返回tf.float32
但是对于批量大小,我不知道该怎么做。然后我发现了这个功能 tf.map_fn
。我有两个输入,所以我应该把我的输入放在哪里。
input1 [?, 40, 30, 128]
和input2 [?, 40, 30]
批量大小是None
,但它们是相等的。
任何相关的将不胜感激。我是 tensorflow 的新手,所以任何事情都有帮助。
非常感谢!
解决方案
你可以做:
tf.map_fn(lambda inp: fn(inp[0], inp[1]), (input1, input2))
请注意,这tf.map_fn
通常比使用矢量化解决方案要慢。考虑是否可以fn
使用批量数据而不是单个批量元素。
推荐阅读
- excel - 如何在一个范围内打印值但在该范围内跳过第 41-55 行然后在第 55 行之后继续
- sql - 使用 groupby 子句的 oracle 查询
- c - Atoi() 针对错误注入的漏洞
- curl - POST 适用于 linux curl 但 403 Forbidden with node-fetch 和 windows curl UGGGG
- r - 在 R6 中填充类变量时出错 - 无法访问类变量
- next.js - 在 Prisma 中建模评级系统
- java - 此插入排序算法仅交换前 2 个元素并停止。我该如何解决?
- yaml - OpenAPI 对一个端点下的多个动词的引用
- c++ - 如何在 Visual Studio 中编辑 c++ 项目的源文件?
- php - PHP - 提交后 MySQL 登录表单不会重定向到登录页面