আপনার স্থানীয় টেনসরফ্লো সর্বত্র সর্বত্র ইভেন্টের জন্য আরএসভিপি!
This page was translated by the Cloud Translation API.
Switch to English

টেনসরফ্লো জন্য স্যুইফ (সংরক্ষণাগার মোডে)

মেশিন লার্নিং, সংকলক, ডিফারেন্টেবল প্রোগ্রামিং, সিস্টেম ডিজাইন এবং এর বাইরেও সর্বশেষ গবেষণাকে একীভূত করে মেশিন লার্নিংয়ের জন্য পরবর্তী প্রজন্মের প্ল্যাটফর্মের জন্য সুইফট ফর টেনসরফ্লো ছিল একটি পরীক্ষা। এটি ২০২১ সালের ফেব্রুয়ারিতে সংরক্ষণাগারভুক্ত করা হয়েছিল। এই প্রকল্পের কয়েকটি উল্লেখযোগ্য সাফল্যের মধ্যে রয়েছে:

এই সাইটটি আরও আপডেট পাবেন না। এপিআই ডকুমেন্টেশন এবং বাইনারি ডাউনলোডগুলি অ্যাক্সেসযোগ্য পাশাপাশি ওপেন ডিজাইন পর্যালোচনা সভার রেকর্ডিংগুলিতে অবিরত থাকবে।

সুইফট

সুইফট একটি ওপেন সোর্স সাধারণ-উদ্দেশ্য প্রোগ্রামিং ভাষা, যার একটি বৃহত এবং ক্রমবর্ধমান ব্যবহারকারী বেস রয়েছে। আমরা সুইফটকে বেছে নিয়েছি কারণ এটির একটি উন্মুক্ত ভাষার নকশা প্রক্রিয়া রয়েছে এবং নির্দিষ্ট প্রযুক্তিগত কারণে " কেন টেনসরফ্লো জন্য স্যুইফ্ট টেনসরফ্লো " নথিতে বিশদ রয়েছে। আমরা ধরে নিই যে বেশিরভাগ পাঠক এটির সাথে অপরিচিত, তাই আমরা এখানে এটি সম্পর্কে কিছু অতিরিক্ত গুরুত্বপূর্ণ বিষয়গুলি সংক্ষেপে স্পর্শ করব।

২০১০ সালে সুইফটের বিকাশ শুরু হয়েছিল এবং একাডেমিক অভিনবত্বের চেষ্টা বা ধর্মীয়ভাবে প্রোগ্রামিং পদ্ধতির প্রচারের পরিবর্তে প্রোগ্রামিং ল্যাঙ্গুয়েজ ডিজাইনের সেরা অনুশীলনকে এক সিস্টেমে আনার লক্ষ্য ছিল। ফলস্বরূপ, এটি একক সিস্টেমে বহু-দৃষ্টিকোণ বিকাশকে (যেমন কার্যকরী, ওওপি, জেনেরিক, প্রসেসরিয়াল ইত্যাদি) সমর্থন করে এবং একাডেমিক ভাষাগুলি থেকে অনেক সুপরিচিত ধারণাটি নিয়ে আসে (উদাহরণস্বরূপ প্যাটার্ন মেলানো , বীজগণিত সম্পর্কিত ডেটা এবং ধরণের শ্রেণি) সামনের দিকে। বিকাশকারীদের তাদের সমস্ত কোডটি সুইফটে নতুন করে লেখার জন্য দৃ strongly়ভাবে উত্সাহিত করার পরিবর্তে, এটি অন্য ভাষার সাথে আন্তঃব্যবহারের দিকে মনোনিবেশ করে যেমন, আপনাকে সরাসরি সি হেডার ফাইলগুলি আমদানি করতে এবং এফএফআই ছাড়াই তাদের ব্যবহার করতে দেয় এবং (এখন) মোড়ক ছাড়াই পাইথন এপিআই ব্যবহার করার ক্ষমতা রাখে ।

শিখতে ও ব্যবহারে সহজ হওয়াতে ফোকাস সহ, নিম্ন-স্তরের সিস্টেম প্রোগ্রামিং থেকে উচ্চ স্তরের স্ক্রিপ্টিং পর্যন্ত সমস্ত পথে বিস্তৃত হওয়ার শ্রুতিমধুর লক্ষ্য রয়েছে। যেহেতু সুইফটকে শিখতে এবং ব্যবহার করা সহজ হওয়া দরকার তবে শক্তিশালীও তাই জটিলতার প্রগতিশীল প্রকাশের নীতির উপর নির্ভর করে, যা আক্রমণাত্মকভাবে সেই জটিলতা থেকে উপকৃত ব্যক্তিদের উপর জটিলতার ব্যয়কে কারণ হিসাবে চিহ্নিত করে। উচ্চ কার্যকারিতার সাথে মিলিত "স্ক্রিপ্টিং ভাষার অনুভূতি" মেশিন শেখার জন্য খুব দরকারী।

সুইফটের ডিজাইনের একটি চূড়ান্ত প্রাসঙ্গিক দিকটি হল যে সুইফট ভাষার বেশিরভাগ অংশই এটির স্ট্যান্ডার্ড লাইব্রেরিতে প্রয়োগ করা হয়। ইন্ট এবং বুলের মতো "বিল্টিন" প্রকারগুলি আসলে স্ট্যান্ডার্ড লাইব্রেরিতে সংজ্ঞায়িত স্ট্রাক্ট যা ম্যাজিক প্রকার এবং ক্রিয়াকলাপগুলিকে আবৃত করে। এর মতো, কখনও কখনও আমরা রসিকতা করি যে সুইফটটি কেবল "এলএলভিএমের জন্য সিনট্যাকটিক চিনি"।

আরও অনেক কিছু আছে যা সুইফ্ট সম্পর্কে শীতল এবং অনলাইনে উপলব্ধ প্রচুর পরিমাণে সামগ্রী। আপনি যদি সাধারণ সুইফ্ট প্রোগ্রামিং ধারণাগুলি সম্পর্কে আরও জানতে আগ্রহী হন, শুরু করতে এখানে কয়েকটি লিঙ্ক দেওয়া হল:

একটি সতর্কতা: সুইফ্ট তার প্রথম বছরগুলিতে দ্রুত বিকশিত হয়েছিল, তাই আপনার সুইফ্ট 3 (2016 সালে প্রকাশিত) এর আগে যে কোনও বিষয়ে সতর্ক হওয়া উচিত।

কেন টেনসরফ্লো জন্য সুইফ্ট?

টেনসরফ্লো ফর সুইট মেশিন লার্নিং মডেলগুলি বিকাশের একটি নতুন উপায়। এটি আপনাকে সুইফার প্রোগ্রামিং ভাষায় সরাসরি সংহত টেনসরফ্লোয়ের শক্তি দেয়। আমরা বিশ্বাস করি যে মেশিন লার্নিং দৃষ্টান্তগুলি এতটা গুরুত্বপূর্ণ যে তারা প্রথম-শ্রেণীর ভাষা এবং সংকলক সমর্থনের প্রাপ্য।

মেশিন লার্নিংয়ের একটি মৌলিক আদিম হ'ল গ্রেডিয়েন্ট-ভিত্তিক অপ্টিমাইজেশন: পরামিতিগুলি অনুকূলকরণের জন্য কম্পিউটিং ফাংশন ডেরিভেটিভস। টেনসরফ্লো জন্য সুইফ্টের সাহায্যে, আপনি gradient(of:) মতো ডিফারেন্সিয়াল অপারেটরগুলি ব্যবহার করে সহজেই ফাংশনগুলি পৃথক করতে পারেন বা পদ্ধতি gradient(in:) কল করে পুরো মডেলের প্রতি শ্রদ্ধার সাথে আলাদা করতে পারেন। এই Tensor এপিআইগুলি কেবল Tensor সম্পর্কিত সম্পর্কিত ধারণাগুলির জন্যই উপলভ্য নয় all এগুলি সমস্ত ধরণের জন্য সাধারণ করা হয় যা Float , Double , সিমডি ভেক্টর এবং আপনার নিজস্ব ডেটা স্ট্রাকচার সহ Differentiable প্রোটোকলের সাথে খাপ খায়।

// Custom differentiable type.
struct Model: Differentiable {
    var w: Float
    var b: Float
    func applied(to input: Float) -> Float {
        return w * input + b
    }
}

// Differentiate using `gradient(at:_:in:)`.
let model = Model(w: 4, b: 3)
let input: Float = 2
let (𝛁model, 𝛁input) = gradient(at: model, input) { model, input in
    model.applied(to: input)
}

print(𝛁model) // Model.TangentVector(w: 2.0, b: 1.0)
print(𝛁input) // 4.0

ডেরিভেটিভগুলি ছাড়িয়ে, টেনসরফ্লো প্রকল্পের সুইফটটি ব্যবহারকারীদের আরও উত্পাদনশীল করার জন্য একটি পরিশীলিত সরঞ্জামচয়ন নিয়ে আসে। আপনি একটি বৃহত্তর নোটবুকটিতে ইন্টারফেসিয়ালভাবে সুইফ্ট চালনা করতে পারেন এবং একটি আধুনিক গভীর শেখার লাইব্রেরির বিশাল এপিআই পৃষ্ঠটি অন্বেষণে সহায়তা করতে সহায়ক স্বতঃপূরণ পরামর্শ পেতে পারেন। আপনি ঠিক কয়েক সেকেন্ডের মধ্যে আপনার ব্রাউজারে শুরু করতে পারেন!

টেনসরফ্লোতে সুইফটে স্থানান্তরিত করা সুইফটের শক্তিশালী পাইথন সংহতকরণের জন্য সত্যই সহজ ধন্যবাদ। আপনি ক্রমবর্ধমানভাবে আপনার পাইথন কোডটি স্থানান্তর করতে পারেন (বা আপনার পছন্দের পাইথন লাইব্রেরি ব্যবহার করা চালিয়ে যেতে পারেন) কারণ আপনি সহজেই একটি পরিচিত বাক্য গঠন সহ আপনার প্রিয় পাইথন লাইব্রেরি কল করতে পারেন:

import TensorFlow
import Python

let np = Python.import("numpy")

let array = np.arange(100).reshape(10, 10)  // Create a 10x10 numpy array.
let tensor = Tensor<Float>(numpy: array)  // Seamless integration!