2016-03-24 14 views

risposta

5

È possibile moltiplicare una matrice (o qualsiasi altro tensore) per uno scalare utilizzando l'elemento-saggio tf.mul() operazione, che trasmette implicitamente i suoi argomenti per abbinare formati:

x = tf.constant([[1.0, 0.0], [0.0, 1.0]]) 
y = tf.mul(x, 2.0) 

sess = tf.Session() 
print sess.run(y) 
# ==> [[2.0, 0.0], [0.0, 2.0]] 
+0

Grazie! Immagino che funzioni anche per qualsiasi tensore a singola variabile che non sia 2.0 giusto? –

+0

Sicuro! Puoi fare 'z = tf.Variable (some_scalar); y = tf.mul (x, z) '(o' z = tf.constant (...) 'ecc.). – mrry

+1

Rinominato in tf.multiply() in TensorFlow 1.0. Si noti inoltre che esiste una funzione tf.scalar_mul(). –

1
scalar_mul(scalar, x) 

moltiplica uno scalare volte un oggetto Tensor o IndexedSlices.

destinati ad essere utilizzati nel codice gradiente che potrebbe trattare IndexedSlices oggetti, che sono facili da moltiplicare per uno scalare ma più costoso moltiplicare con tensori arbitrari.

Arg: scalare: A 0-D scalare Tensor. Deve avere una forma conosciuta. x: A Tensor o IndexedSlices da ridimensionare.

Returns: scalar * x dello stesso tipo (Tensor o IndexedSlices) come x.

Problemi correlati