Hallo Ich habe eine Python-Funktion, wo ich versuche, einen Tensor zuzuordnen. Ich muss im Wesentlichen jedes Element durch die Funktion laufen lassen. Ich bin mir nicht sicher, wie die beiden Parameter dieser Funktion zugeordnet werden. Nicht nur das, sondern auch wenn ich den zweiten Parameter zu entfernen es gibt mir eine Fehlermeldung:Tensorflow - Zuordnung der Python-Funktion mit zwei Parametern
TypeError: bad operand type for unary -: 'list'
Hier ist mein vollständiger Code:
import tensorflow as tf
def sigmoid(x, derivative = False):
if derivative == True:
return (1.0/(1+math.exp(-x))) * (1.0 - (1.0/(1+math.exp(-x))))
return 1.0/(1+math.exp(-x))
# build computational graph
a = tf.placeholder('float', None)
result = tf.map_fn(sigmoid, [a] , tf.float32)
# initialize variables
init = tf.global_variables_initializer()
# create session and run the graph
with tf.Session() as sess:
sess.run(init)
print sess.run(result, feed_dict={a: [2,3,4]})
# close session
sess.close()
Ich war im Anschluss an diesem: https://www.tensorflow.org/api_docs/python/tf/py_func
EDIT Ich kann die exp-Funktion mit Tensorflows Bibliothek:
def sigmoid(x, derivative = False):
if derivative == True:
return (1.0/(1+tf.exp(-x))) * (1.0 - (1.0/(1+tf.exp(-x))))
return 1.0/(1+tf.exp(-x))
Dies funktioniert, aber wie kann ich es bekommen das Derivat verwenden? Wie kann ich zwei Parameter in die Funktion übergeben? – Kevin
Einfach aufrufen, result = Sigmoid (a, Ableitung = True)? –
Danke, Wie wäre es, wenn ich eine Operation ausführen müsste, die numpy benötigt. Nach meinem Verständnis wäre ich dazu nicht in der Lage? – Kevin