টেনসরফ্লো এপিআইগুলির জন্য সুইফ্ট ত্বরিত গণনা সম্পাদনের প্রাথমিক উপায় হিসাবে Tensor
প্রকার ব্যবহার করে। একটি Tensor
মানগুলির একটি বহুমাত্রিক বিন্যাসের প্রতিনিধিত্ব করে এবং Tensor
অপারেশনগুলি স্বয়ংক্রিয়ভাবে দুটি ব্যাকএন্ডের একটি ব্যবহার করে উপলব্ধ অ্যাক্সিলারেটরে প্রেরণ করা হয়।
একটি Tensor
এটিতে থাকা মানগুলির ধরণ সম্পর্কে জেনেরিক । এই মানগুলির ধরন অবশ্যই TensorFlowScalar
এর সাথে সঙ্গতিপূর্ণ হতে হবে, যার সাধারণ প্রকারগুলি হল Float
, Int32
, এবং Bool
৷ উদাহরণস্বরূপ, কিছু পূর্বনির্ধারিত মান সহ দুটি Float
-ধারণকারী Tensor
s শুরু করতে, আপনি নিম্নলিখিতগুলি করতে পারেন:
let tensor1 = Tensor<Float>([0.0, 1.0, 2.0])
let tensor2 = Tensor<Float>([1.5, 2.5, 3.5])
আপনি যদি <Float>
টাইপ প্যারামিটারটি বাদ দিয়ে থাকেন তবে সুইফট এক ধরনের Tensor<Double>
অনুমান করবে। সুইফটে ফ্লোটিং-পয়েন্ট লিটারালের জন্য Double
হল ডিফল্ট প্রকার। মেশিন লার্নিং ক্যালকুলেশনে Float
মানগুলি বেশি সাধারণ হতে থাকে, তাই আমরা এখানে এটি ব্যবহার করছি।
অনেক সাধারণ অপারেটর Tensor
s এ কাজ করে। উদাহরণস্বরূপ, তাদের দুটি যোগ করতে এবং ফলাফল পেতে, আপনি নিম্নলিখিতগুলি করতে পারেন:
let tensor3 = tensor1 + tensor2
Tensor
আপনি যে ক্রিয়াকলাপগুলি সম্পাদন করতে পারেন তার সম্পূর্ণ তালিকা API ডকুমেন্টেশনে উপলব্ধ।
_Raw
অপারেশন
Tensor
অপারেশনগুলি এক্সিলারেটরের সাথে কাজ করার দুটি ভিন্ন উপায় দ্বারা সমর্থিত, তবুও তাদের একটি ইউনিফাইড হাই-লেভেল ইন্টারফেস রয়েছে। হুডের অধীনে, _Raw
অপারেশনগুলিকে সংজ্ঞায়িত করা হয়েছে যে হয় _RawXLA
বা _RawTFEager
সংস্করণে প্রেরণ করা হয়, প্রশ্নে থাকা Tensor
জন্য ব্যবহৃত ব্যাকএন্ডের উপর নির্ভর করে। TensorFlow বা X10-এ এই _Raw
বাইন্ডিংগুলি স্বয়ংক্রিয়ভাবে তৈরি হয়।
সাধারণত, আপনাকে সরাসরি _Raw
অপারেশনগুলির সাথে যোগাযোগ করতে হবে না। ইডিওম্যাটিক সুইফ্ট ইন্টারফেসগুলি এর উপরে তৈরি করা হয়েছে, এবং এভাবেই আপনি সাধারণত Tensor
গণনা সম্পাদন করবেন।
যাইহোক, সমস্ত অন্তর্নিহিত TensorFlow অপারেশনে সুইফট ইন্টারফেস মেলে না, তাই আপনাকে মাঝে মাঝে আপনার কোডে _Raw
অপারেটর অ্যাক্সেস করতে হতে পারে। আপনার যদি এটি করার প্রয়োজন হয় তবে এটি কীভাবে কাজ করে তা প্রদর্শন করার জন্য একটি ইন্টারেক্টিভ টিউটোরিয়াল উপলব্ধ।