একটি গ্রাফ যা একটি ইনপুট এবং আউটপুট স্বাক্ষর সহ একটি একক ফাংশন হিসাবে আহ্বান করা যেতে পারে।
একটি ফাংশন একটি SavedModelBundle
এ সংজ্ঞায়িত একটি tf.function আহ্বান করতে পারে।
ConcreteFunction myFunction = savedModelBundle.function("myFunctionSignatureName");
Map<String, Tensor> outputTensorMap = myFunction.call(inputTensorMap);
পাবলিক পদ্ধতি
টেনসর | |
মানচিত্র<স্ট্রিং, টেনসর > | |
অকার্যকর | বন্ধ () |
স্ট্যাটিক কংক্রিট ফাংশন | তৈরি করুন ( স্বাক্ষর স্বাক্ষর , অধিবেশন অধিবেশন) একটি স্বাক্ষর এবং একটি বৈধ গ্রাফ সেশন থেকে একটি ফাংশন তৈরি করুন। |
স্ট্যাটিক কংক্রিট ফাংশন | |
স্ট্যাটিক কংক্রিট ফাংশন | তৈরি করুন ( স্বাক্ষর স্বাক্ষর , গ্রাফ গ্রাফ) একটি স্বাক্ষর এবং একটি বিদ্যমান গ্রাফ থেকে একটি ফাংশন তৈরি করুন। |
গ্রাফ | গ্রাফ () এই ফাংশনের গ্রাফ প্রদান করে |
অকার্যকর | সংরক্ষণ করুন (স্ট্রিং এক্সপোর্টডির) একটি সংরক্ষিত মডেল হিসাবে এই ফাংশন রপ্তানি করুন. |
অধিবেশন | |
স্বাক্ষর | স্বাক্ষর () এই ফাংশনের স্বাক্ষর প্রদান করে |
স্ট্রিং | toString () |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
পাবলিক পদ্ধতি
পাবলিক টেনসর কল ( টেনসর টেনসর)
একটি একক ইনপুট এবং আউটপুট সহ একটি ফাংশন আহ্বান করে।
কলার সমস্ত টেনসর বন্ধ করার জন্য দায়ী।
পরামিতি
টেনসর | ইনপুট টেনসর |
---|
রিটার্নস
- আউটপুট টেনসর
নিক্ষেপ করে
অবৈধ আর্গুমেন্ট ব্যতিক্রম | যদি ফাংশনে সংজ্ঞায়িত একাধিক ইনপুট বা আউটপুট পরামিতি থাকে |
---|
সর্বজনীন মানচিত্র<স্ট্রিং, টেনসর > কল (মানচিত্র<স্ট্রিং, টেনসর > আর্গুমেন্ট)
একটি ফাংশন আহ্বান করে।
কলার সমস্ত টেনসর বন্ধ করার জন্য দায়ী।
পরামিতি
যুক্তি | ফাংশনে ইনপুট দেওয়ার জন্য টেনসরগুলির তালিকা, তাদের স্বাক্ষর নামের দ্বারা ম্যাপ করা হয়েছে |
---|
রিটার্নস
- ফাংশন সম্পাদনের ফলে আউটপুট টেনসর, তাদের স্বাক্ষর নামের দ্বারা ম্যাপ করা হয়
নিক্ষেপ করে
অবৈধ আর্গুমেন্ট ব্যতিক্রম |
---|
পাবলিক শূন্য বন্ধ ()
পাবলিক স্ট্যাটিক কংক্রিট ফাংশন তৈরি করুন ( স্বাক্ষর স্বাক্ষর , সেশন সেশন)
একটি স্বাক্ষর এবং একটি বৈধ গ্রাফ সেশন থেকে একটি ফাংশন তৈরি করুন।
ফাংশনটি সেশন বা এর গ্রাফের মালিক হবে না, যার অর্থ তাদের জীবনকাল ফাংশনের সুযোগের বাইরে প্রসারিত হতে পারে। তাই ফাংশনটি ব্যবহারের পরে বন্ধ করার দরকার নেই। যেমন:
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());
}
}
}
}
পরামিতি
ফাংশন বিল্ডার | ফাংশন নির্মাতা |
---|
রিটার্নস
- নতুন ফাংশন
পাবলিক স্ট্যাটিক কংক্রিট ফাংশন তৈরি করুন ( স্বাক্ষর স্বাক্ষর , গ্রাফ গ্রাফ)
একটি স্বাক্ষর এবং একটি বিদ্যমান গ্রাফ থেকে একটি ফাংশন তৈরি করুন।
ফাংশনটি গ্রাফ চালানোর জন্য ব্যবহৃত সেশনের মালিকানা বজায় রাখবে তবে গ্রাফটি নয়, যার অর্থ পরবর্তীটির জীবনকাল ফাংশনের সুযোগের বাইরে প্রসারিত হতে পারে। যেমন:
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()
এর সমতুল্য সুবিধাজনক শর্টকাট।
পরামিতি
এক্সপোর্ট ডির | ডিরেক্টরি যেখানে সংরক্ষিত মডেল রপ্তানি করতে হবে |
---|
নিক্ষেপ করে
IO ব্যতিক্রম | যদি সংরক্ষিত মডেল বা পরিবর্তনশীল অবস্থা ডিস্কে লেখা যাবে না |
---|
পাবলিক সেশন সেশন ()
এই ফাংশনটি কল করার সময় গ্রাফ চালানোর জন্য ব্যবহৃত সেশনটি ফেরত দেয়
সাধারণভাবে, একজন ব্যবহারকারীকে সরাসরি একটি ফাংশনের সেশন পরিচালনা করতে হবে না এবং পরিবর্তে গ্রাফটি চালানোর জন্য call(Map)
উপর নির্ভর করতে হবে। কিন্তু কিছু ক্ষেত্রে, সেশনে সরাসরি অ্যাক্সেসের প্রয়োজন হতে পারে, কারণ এটি আরও চলমান বিকল্পের অনুমতি দেয়।
রিটার্নস
- ফাংশন সেশন