我需要使用 TPUEstimator 实现布尔屏蔽操作。tf.boolean_mask 未实现。有解决方法吗?
以下代码在 CPU 和 GPU 上非常适合我的目的:
all_out = model.get_sequence_output()
P = tf.boolean_mask(all_out, P_mask)
all_out 是一个形状为 [?, 128, 768] 的张量
P_mask 是形状 [?, 128] 并且第二维是 one-hot 编码以表示要提取的所需张量。
P 的所需形状是 [?,768]
当我使用 TPUEstimator 在 TPU 上运行它时,我收到以下错误消息:
Compilation failure: Detected unsupported operations when trying to
compile graph _functionalize_body_1[] on XLA_TPU_JIT: Where (No
registered 'Where' OpKernel for XLA_TPU_JIT devices compatible with node
node boolean_mask/Where