python - 矢量化张量流步骤的正确方法
问题描述
我正在使用 4 维张量,需要进行一些计算,如下例所示。A
成为一个有 shape 的张量(6,64,64,64)
。我想使用该函数tf.where
来获取每个(64,64,64)
体积的体素,其值大于0.75
. 我设法做到这一点的唯一方法是这样的:
X = tf.convert_to_tensor([tf.where(A[i,:,:,:] > 0.75) for i in range(A.shape[0])]
这似乎是一个非常粗略的解决方案。有没有更好的方法来实现这一目标?
解决方案
您尝试做的问题是它要求每个(64, 64, 64)
卷具有相同数量的大于 0.75 的值。如果是这种情况,您可以执行以下操作:
X = tf.reshape(tf.where(A > 0.75)[:, 1:], (A.shape[0], -1, A.shape.ndims - 1))
但如果不是这样,你就不能有这样的张量,因为第二维需要有多个尺寸。
推荐阅读
- rust - Rust 中不显示 ProgressBar
- javascript - “不存在访问控制标头” - 通过 API 调用 AWS lambda 函数时
- python - 如何解决 Nameerror: name 'n' is not defined in train_test_split of scikit-learn 0.22 version without downgrade the version?
- python - 无法在 Python 中使用 PIL 读取 woff 文件
- docker - 尝试 docker-compose up 命令时出错
- c# - 仔细关闭流程
- opengl - SOIL2 与 cmake
- javascript - 如何在 ReactJS 中的地图循环(假设)中显示 base64
- ios - 在具有两个目标的 iOS 项目中,一个文件在一个目标中出现错误,而在为另一个目标编译时
- django - 如何渲染交互式 Dash - Plotly 使用 Django(REST 框架)?