টেনসর ওভারভিউ

টেনসরফ্লো এপিআইগুলির জন্য সুইফ্ট ত্বরিত গণনা সম্পাদনের প্রাথমিক উপায় হিসাবে 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 অপারেটর অ্যাক্সেস করতে হতে পারে। আপনার যদি এটি করার প্রয়োজন হয় তবে এটি কীভাবে কাজ করে তা প্রদর্শন করার জন্য একটি ইন্টারেক্টিভ টিউটোরিয়াল উপলব্ধ।