एक ग्राफ़ जिसे इनपुट और आउटपुट हस्ताक्षर के साथ एकल फ़ंक्शन के रूप में लागू किया जा सकता है।
एक फ़ंक्शन SavedModelBundle
में परिभाषित tf.function को भी लागू कर सकता है।
ConcreteFunction myFunction = savedModelBundle.function("myFunctionSignatureName");
Map<String, Tensor> outputTensorMap = myFunction.call(inputTensorMap);
सार्वजनिक तरीके
टेन्सर | |
मानचित्र<स्ट्रिंग, टेंसर > | |
खालीपन | बंद करना () |
स्थैतिक कंक्रीटफंक्शन | |
स्थैतिक कंक्रीटफंक्शन | |
स्थैतिक कंक्रीटफंक्शन | |
ग्राफ़ | ग्राफ () इस फ़ंक्शन का ग्राफ़ लौटाता है |
खालीपन | सहेजें (स्ट्रिंग निर्यातDir) इस फ़ंक्शन को सहेजे गए मॉडल के रूप में निर्यात करें। |
सत्र | |
हस्ताक्षर | हस्ताक्षर () इस फ़ंक्शन का हस्ताक्षर लौटाता है |
डोरी | स्ट्रिंग () |
विरासत में मिले तरीके
सार्वजनिक तरीके
सार्वजनिक टेन्सर कॉल ( टेन्सर टेन्सर)
एकल इनपुट और आउटपुट के साथ एक फ़ंक्शन को आमंत्रित करता है।
कॉलर सभी टेंसरों को बंद करने के लिए जिम्मेदार है।
पैरामीटर
टेन्सर | इनपुट टेंसर |
---|
रिटर्न
- आउटपुट टेंसर
फेंकता
IllegalArgumentException | यदि फ़ंक्शन में एकाधिक इनपुट या आउटपुट पैरामीटर परिभाषित हैं |
---|
सार्वजनिक मानचित्र<स्ट्रिंग, टेन्सर > कॉल (मानचित्र<स्ट्रिंग, टेन्सर > तर्क)
किसी फ़ंक्शन को आमंत्रित करता है.
कॉलर सभी टेंसरों को बंद करने के लिए जिम्मेदार है।
पैरामीटर
बहस | फ़ंक्शन में इनपुट पास करने के लिए टेंसरों की सूची, उनके हस्ताक्षर नाम से मैप की गई |
---|
रिटर्न
- फ़ंक्शन के निष्पादन से उत्पन्न आउटपुट टेंसर, उनके हस्ताक्षर नाम से मैप किए जाते हैं
फेंकता
IllegalArgumentException |
---|
सार्वजनिक शून्य बंद करें ()
सार्वजनिक स्थैतिक कंक्रीटफंक्शन निर्माण ( हस्ताक्षर हस्ताक्षर, सत्र सत्र)
एक हस्ताक्षर और एक वैध ग्राफ़ सत्र से एक फ़ंक्शन बनाएं।
फ़ंक्शन न तो सत्र का स्वामी होगा और न ही उसके ग्राफ़ का, जिसका अर्थ है कि उनका जीवनकाल फ़ंक्शन के दायरे से आगे बढ़ सकता है। इसलिए इसके उपयोग के बाद फ़ंक्शन को बंद करने की आवश्यकता नहीं है। उदाहरण के लिए:
try (Graph g = new Graph()) {
Placeholder<TFloat32> input = tf.placeholder(TFloat32.class);
Add<TFloat32> output = tf.math.add(input, tf.constant(2.0f));
Signature signature = Signature.builder().input("x", input).output("y", output).build();
try (Session s = new Session(g)) {
// Auto-closing the function just as an example but this is not required since it has
// no effect
try (ConcreteFunction f = ConcreteFunction.create(signature, s);
TFloat32 t = TFloat32.scalarOf(2.0f)) {
assertEquals(4.0f, ((TFloat32)function.call(x)).getFloat());
// Session s is still valid at this point
}
// Graph g is still valid at this point
}
}
पैरामीटर
हस्ताक्षर | बनाने के लिए फ़ंक्शन का हस्ताक्षर |
---|---|
सत्र | प्रारंभिक ग्राफ़ के लिए एक वैध सत्र |
रिटर्न
- एक नया कार्य
सार्वजनिक स्थैतिक कंक्रीटफ़ंक्शन बनाएं (फ़ंक्शन <ऑप्स, हस्ताक्षर > फ़ंक्शनबिल्डर)
एक नया ग्राफ़ बनाकर एक फ़ंक्शन बनाता है।
functionBuilder
दिए गए ERROR(/Ops)
इंस्टेंस से फ़ंक्शन ग्राफ़ को प्रारंभ करना होगा और एक वैध हस्ताक्षर लौटाना होगा जिसका उपयोग इनपुट टेनर्स को फीड करने और निष्पादन पर आउटपुट टेनर्स लाने के लिए किया जाएगा।
फ़ंक्शन नए ग्राफ़ और उसके परिणामी सत्र का स्वामी होगा। इसलिए, फ़ंक्शन को प्रयास-के-संसाधन ब्लॉक के साथ ठीक से संलग्न किया जाना चाहिए ताकि यह गारंटी दी जा सके कि फ़ंक्शन को छोड़ दिए जाने के बाद सभी मूल संसाधन मुक्त हो जाएंगे। उदाहरण के लिए:
public class MyModel {
public static Signature addTwo(Ops tf) {
Placeholder<TFloat32> input = tf.placeholder(TFloat32.class);
Add<TFloat32> output = tf.math.add(input, tf.constant(2.0f));
return Signature.builder("addTwo").input("x", input).output("y", output).build();
public static void main(String args[]) {
try (ConcreteFunction function = ConcreteFunction.create(MyModel::addTwo);
TFloat32 x = TFloat32.scalarOf(2.0f)) {
assertEquals(4.0f, ((TFloat32)function.call(x)).getFloat());
}
}
}
}
पैरामीटर
functionBuilder | फ़ंक्शन बिल्डर |
---|
रिटर्न
- नया फ़ंक्शन
सार्वजनिक स्थैतिक कंक्रीटफंक्शन निर्माण ( हस्ताक्षर हस्ताक्षर, ग्राफ ग्राफ)
एक हस्ताक्षर और एक मौजूदा ग्राफ़ से एक फ़ंक्शन बनाएं।
फ़ंक्शन ग्राफ़ को चलाने के लिए उपयोग किए गए सत्र का स्वामित्व रखेगा, लेकिन स्वयं ग्राफ़ का नहीं, जिसका अर्थ है कि बाद का जीवनकाल फ़ंक्शन के दायरे से परे बढ़ सकता है। उदाहरण के लिए:
try (Graph g = new Graph()) {
Placeholder<TFloat32> input = tf.placeholder(TFloat32.class);
Add<TFloat32> output = tf.math.add(input, tf.constant(2.0f));
Signature signature = Signature.builder().input("x", input).output("y", output).build();
try (ConcreteFunction f = ConcreteFunction.create(signature, g);
TFloat32 x = TFloat32.scalarOf(2.0f)) {
assertEquals(4.0f, ((TFloat32)function.call(x)).getFloat());
// Graph g is still valid at this point
}
}
पैरामीटर
हस्ताक्षर | बनाने के लिए फ़ंक्शन का हस्ताक्षर |
---|---|
ग्राफ | एक वैध और आरंभिक ग्राफ़ |
रिटर्न
- एक नया कार्य
सार्वजनिक शून्य सहेजें (स्ट्रिंग एक्सपोर्टडिर)
इस फ़ंक्शन को सहेजे गए मॉडल के रूप में निर्यात करें।
यह विधि SavedModel.exporter(exportDir).withFunction(this).export()
के समतुल्य सुविधाजनक शॉर्टकट है
पैरामीटर
निर्यातDir | निर्देशिका जहां सहेजे गए मॉडल को निर्यात करना है |
---|
फेंकता
आईओएक्सेप्शन | यदि सहेजा गया मॉडल या परिवर्तनीय स्थिति डिस्क पर नहीं लिखी जा सकती है |
---|
सार्वजनिक सत्र सत्र ()
इस फ़ंक्शन को कॉल करते समय ग्राफ़ को निष्पादित करने के लिए उपयोग किया गया सत्र लौटाता है
सामान्य तौर पर, उपयोगकर्ता को किसी फ़ंक्शन के सत्र को सीधे संभालने और ग्राफ़ को निष्पादित करने के लिए call(Map)
पर निर्भर रहने की आवश्यकता नहीं होती है। लेकिन कुछ मामलों में, सत्र तक सीधी पहुंच आवश्यक हो सकती है, क्योंकि यह अधिक चलने वाले विकल्पों की अनुमति देता है।
रिटर्न
- समारोह सत्र