Как сложить только часть тензора?

Попробуйте использовать .live() вместо .bind(); .live() свяжет .hover с вашим флажком после выполнения запроса Ajax.

0
задан MFisherKDX 28 March 2019 в 01:59
поделиться

1 ответ

Вы можете попробовать:

import tensorflow as tf

L_tf = tf.placeholder(shape=(None,3),dtype=tf.float64)
I_tf = tf.placeholder(shape=(None,),dtype=tf.float64)

a = tf.sequence_mask(I_tf,L_tf.shape[1],dtype=tf.float64)
# [[1. 1. 0.]
#  [1. 0. 0.]]
b = tf.sequence_mask(tf.ceil(I_tf),L_tf.shape[1],dtype=tf.float64)
# [[1. 1. 1.]
#  [1. 1. 0.]]
c = tf.mod(tf.stack([I_tf]*L_tf.shape[1],axis=1),1)
# [[0.5 0.5 0.5]
#  [0.3 0.3 0.3]]
prod = tf.where(tf.not_equal(a,b),c,tf.zeros_like(a)) + a
# [[1.  1.  0.5]
#  [1.  0.3 0. ]]
result = tf.reduce_sum(L_tf*prod,axis=1)

L = [[1,2,3],[2,5,8]]
I = [2.5, 1.3]
with tf.Session() as sess:
    print(sess.run(result,feed_dict={L_tf:L,I_tf:I}))

[4.5 3.5]
0
ответ дан giser_yugang 28 March 2019 в 01:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: