Python 如何检查tensorflow张量中的所有数字是否都是二进制的

Python 如何检查tensorflow张量中的所有数字是否都是二进制的,python,tensorflow,Python,Tensorflow,我该如何判断张量流张量中的所有数字是0还是1 bad_mask = tf.Variable([[0.0,1.0,0.2,0.0,0.0], [0.0,5.0,0.0,2.3,0.0]]) good_mask = tf.Variable([[0.0,1.0,1.0,0.0,0.0], [0.0,1.0,0.0,1.0,0.0]]) 我想使用tf.assert 使用tf.unstack将张量转换为列表,然后检查所有值是否为0或1。使用tf.unstack将张量转换为列表,然后检查所有值是否为0或1

我该如何判断张量流张量中的所有数字是0还是1

bad_mask = tf.Variable([[0.0,1.0,0.2,0.0,0.0], [0.0,5.0,0.0,2.3,0.0]])
good_mask = tf.Variable([[0.0,1.0,1.0,0.0,0.0], [0.0,1.0,0.0,1.0,0.0]])

我想使用
tf.assert

使用
tf.unstack
将张量转换为列表,然后检查所有值是否为0或1。

使用
tf.unstack
将张量转换为列表,然后检查所有值是否为0或1。

类似于此代码(已测试):

将tensorflow导入为tf
错误掩码=tf.变量([[0.0,1.0,0.2,0.0,0.0],[0.0,5.0,0.0,2.3,0.0]])
好的屏蔽=tf.变量([[0.0,1.0,1.0,0.0,0.0],[0.0,1.0,0.0,1.0,0.0]]
x=tf.Assert(tf.reduce_all(
tf.logical_or(tf.equal(good_mask,0.0),tf.equal(good_mask,1.0))
),[good_mask])
y=tf.Assert(tf.reduce_all(
tf.logical_或(tf.equal(坏_掩码,0.0),tf.equal(坏_掩码,1.0))
),[bad_mask])
使用tf.Session()作为sess:
sess.run(tf.global\u variables\u initializer())
打印(sess.run(x))
打印(sess.run(y))
将输出:

没有

InvalidArgumentError:断言失败:[[0 1 0.2]…]
[[Node:Assert_4/AssertGuard/Assert=Assert[T=[DT_FLOAT],summary=3,_device=“/job:localhost/replica:0/task:0/device:CPU:0”](Assert_4/AssertGuard/Assert/Switch,Assert_4/AssertGuard/Assert/Switch_1)]]

根据需要。

类似此代码(已测试):

将tensorflow导入为tf
错误掩码=tf.变量([[0.0,1.0,0.2,0.0,0.0],[0.0,5.0,0.0,2.3,0.0]])
好的屏蔽=tf.变量([[0.0,1.0,1.0,0.0,0.0],[0.0,1.0,0.0,1.0,0.0]]
x=tf.Assert(tf.reduce_all(
tf.logical_or(tf.equal(good_mask,0.0),tf.equal(good_mask,1.0))
),[good_mask])
y=tf.Assert(tf.reduce_all(
tf.logical_或(tf.equal(坏_掩码,0.0),tf.equal(坏_掩码,1.0))
),[bad_mask])
使用tf.Session()作为sess:
sess.run(tf.global\u variables\u initializer())
打印(sess.run(x))
打印(sess.run(y))
将输出:

没有

InvalidArgumentError:断言失败:[[0 1 0.2]…]
[[Node:Assert_4/AssertGuard/Assert=Assert[T=[DT_FLOAT],summary=3,_device=“/job:localhost/replica:0/task:0/device:CPU:0”](Assert_4/AssertGuard/Assert/Switch,Assert_4/AssertGuard/Assert/Switch_1)]]


根据需要。

我不熟悉
tensorflow
,但你认为
regex
有帮助吗?我不熟悉
tensorflow
,但你认为
regex
有帮助吗?我有个错误。。。文件“/anaconda3/lib/python3.6/site packages/tensorflow/python/ops/control_flow_ops.py”,第167行,在Assert xs=ops.convert_n_to_tensor(data)文件“/anaconda3/lib/python3.6/site packages/tensorflow/python/framework/ops.py”,第1202行,在convert_n_-to_-tensor as_-ref=False)文件中“/anaconda3/lib/python3.6/site packages/tensorflow/python/framework/ops.py”,第1157行,在internal_convert_n_to_tensor raise TypeError(“值必须是列表”)中,类型错误:值必须是列表。是的,对不起,
tf.Assert()
需要打印数据,以防断言未能出现在列表中。已更改、测试、将完整代码插入到应答中,立即生效。我收到一个错误…文件“/anaconda3/lib/python3.6/site packages/tensorflow/python/ops/control\u flow\u ops.py”,第167行,在assert xs=ops.convert\n\u to\u tensor(数据)文件中”/anaconda3/lib/python3.6/site packages/tensorflow/python/framework/ops.py”,第1202行,在convert_n_to_tensor as_ref=False)文件/anaconda3/lib/python3.6/site packages/tensorflow/python/framework/ops.py中,第1157行,在内部_convert_n_to_tensor raise raise TypeError中(“值必须是列表”)TypeError:值必须是列表。是的,很抱歉,
tf.Assert()
要求打印数据,以防Assert无法在列表中。已更改、已测试、已在应答中插入完整代码,现在可以工作。