खोज…


पैरामीटर

पैरामीटर विवरण
समारोह अजगर फ़ंक्शन, जो अपने इनपुट के रूप में संख्यात्मक सरणियों को लेता है और इसके आउटपुट के रूप में संख्यात्मक सरणियों को वापस करता है
inp सेंसर की सूची (इनपुट्स)
टाउट के आउटपुट के लिए tensorflow डेटा प्रकारों की सूची func

मूल उदाहरण

tf.py_func(func, inp, Tout) ऑपरेटर एक TensorFlow आपरेशन एक अजगर फ़ंक्शन को कॉल करने, बनाता func tensors की एक सूची पर inp

tf.py_func(func, inp, Tout) लिए दस्तावेज़ देखें।

चेतावनी : tf.py_func() ऑपरेशन केवल CPU पर चलेगा। यदि आप वितरित TensorFlow का उपयोग कर रहे हैं, तो tf.py_func() ऑपरेशन को क्लाइंट के समान प्रक्रिया में CPU डिवाइस पर रखा जाना चाहिए।

def func(x):
    return 2*x

x = tf.constant(1.)
res = tf.py_func(func, [x], [tf.float32])
# res is a list of length 1

Tf.py_func का उपयोग क्यों करें

tf.py_func() ऑपरेटर आपको TensorFlow ग्राफ़ के बीच में मनमाने पायथन कोड चलाने में सक्षम बनाता है। यह कस्टम NumPy ऑपरेटरों को लपेटने के लिए विशेष रूप से सुविधाजनक है, जिसके लिए कोई समतुल्य TensorFlow ऑपरेटर (अभी तक) मौजूद नहीं है। tf.py_func() को जोड़ना tf.py_func() अंदर sess.run() कॉल का उपयोग करने का एक विकल्प है।

ऐसा करने का एक और तरीका है कि ग्राफ को दो भागों में काटें:

# Part 1 of the graph
inputs = ...  # in the TF graph

# Get the numpy array and apply func
val = sess.run(inputs)  # get the value of inputs
output_val = func(val)  # numpy array

# Part 2 of the graph
output = tf.placeholder(tf.float32, shape=...)
train_op = ...

# We feed the output_val to the tensor output
sess.run(train_op, feed_dict={output: output_val})

tf.py_func साथ यह बहुत आसान है:

# Part 1 of the graph
inputs = ...

# call to tf.py_func
output = tf.py_func(func, [inputs], [tf.float32])[0]

# Part 2 of the graph
train_op = ...

# Only one call to sess.run, no need of a intermediate placeholder
sess.run(train_op)


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow