繁体   English   中英

张量内容的逻辑运算

[英]Logical operation on the contents of a tensor

我有一个名为'datastate'的形状(?,10)的列表,该列表中已填充了Tensorflow中所有10个批处理样本的结果(所有张量)。 换句话说,批量大小为256的批次将填充10个大小为256的不同张量。

在下面的伪代码中....

datastate = {}

for sample in range(num_samples):
    datastate[sample] = batch_results

接下来,我要定义一个变量,例如“ datastate_change”,该变量将确定第i个batch_results记录与第(i-1)个batch_results记录是否发生了变化。 如果Pandas样式的语法可以工作,这看起来可能类似于以下内容……但是我不清楚在sess.run期间如何在tf中执行此操作。

for sample in range(num_samples):
    datastate[sample] = batch_results
    datastate_change[sample] = batch_results - batch_results.shift(1)

更具体一点,如果batch_results的单个实例为[1,1,1,0,1],我想让datastate [1] = [1,1,1,0,1]和datastate_change [1 ] = [1,0,0,-1,1]

我自己找到了一个满意的答案-关键是numpy比pandas是更好的模拟插件...。他们俩。

top_paddings = tf.constant([[1, 0]]) #New tensor with the 'top' being zeros
top_padded_datastate_[sample] = tf.pad(datastate[sample], top_paddings, "CONSTANT")
top_padded_datastate[sample] = top_padded_datastate_[sample][:-1]
datastate_changes[sample] = tf.subtract(datastate[sample], top_padded_datastate[sample])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM