Hee*_*ony 3 python deep-learning tensorflow turning-point tensor
我尝试使用 Pycharm 中的 Tensorflow 使用 tf.map_fn 获得多个输入的转折点。
但是,当我尝试执行此操作时,
出现错误: TypeError: testzz() Missing 1 requiredpositional argument: 'data'
我怎么解决这个问题?或者如何获取 idxCut 的大小以使用 for 循环?
开发内容。
我想使用 for 循环在数据中找到有关 idxCut 的 TPR(转折点比率)。
我使用for循环来获取idx,idx-1和idx + 1之间的TPR。
我想找到数据[idx]高于其他数据[idx-1,idx+1]。
def testtt(data):
### Cut-off Threshold
newData = data[5:num_input - 5] # shape = [1, 100]
idxCut = tf.where(newData > cutoff) + 5
idxCut = tf.squeeze(idxCut)
# The size of idxCut is always variable. shape = [1, 10] or shape = [1, 27] or etc
tq = tf.map_fn(testzz, (idxCut, data), dtype=tf.int32)
print('tqqqq ', tq)
Run Code Online (Sandbox Code Playgroud)
def testzz(idxCut, data):
v1 = tf.where(data[idxCut] > data[idxCut - 1], 1, 0)
v2 = tf.where(data[idxCut] > data[idxCut + 1], 1, 0)
return tf.where(v1 + v2 > 1, 1, 0)
Run Code Online (Sandbox Code Playgroud)
def testtt(data):
### Cut-off Threshold
newData = data[5:num_input - 5] # shape = [1, 100]
idxCut = tf.where(newData > cutoff) + 5
idxCut = tf.squeeze(idxCut)
# The size of idxCut is always variable. shape = [1, 10] or shape = [1, 27] or etc
tq = tf.map_fn(testzz, (idxCut, data), dtype=tf.int32)
print('tqqqq ', tq)
Run Code Online (Sandbox Code Playgroud)
当您向 提供多个张量时tf.map_fn,它们的元素不会作为独立参数传递给给定函数,而是作为元组传递。做这个:
def testzz(inputs):
idxCut, data = inputs
v1 = tf.where(data[idxCut] > data[idxCut - 1], 1, 0)
v2 = tf.where(data[idxCut] > data[idxCut + 1], 1, 0)
return tf.where(v1 + v2 > 1, 1, 0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1556 次 |
| 最近记录: |