Tensorflow হল একটি মেশিন লার্নিং ফ্রেমওয়ার্ক যা Google প্রদান করে। এটি একটি ওপেন সোর্স ফ্রেমওয়ার্ক যা পাইথনের সাথে অ্যালগরিদম, গভীর শিক্ষার অ্যাপ্লিকেশন এবং আরও অনেক কিছু বাস্তবায়নের জন্য ব্যবহৃত হয়। এটি গবেষণা এবং উৎপাদন উদ্দেশ্যে ব্যবহৃত হয়।
ONEIROS (ওপেন এন্ডেড নিউরো-ইলেক্ট্রনিক ইন্টেলিজেন্ট রোবট অপারেটিং সিস্টেম) প্রকল্পের গবেষণার অংশ হিসেবে কেরাস তৈরি করা হয়েছিল। কেরাস একটি গভীর শিক্ষার API, যা পাইথনে লেখা। এটি একটি উচ্চ-স্তরের API যার একটি উত্পাদনশীল ইন্টারফেস রয়েছে যা মেশিন লার্নিং সমস্যা সমাধানে সহায়তা করে। এটি টেনসরফ্লো ফ্রেমওয়ার্কের উপরে চলে। এটি একটি দ্রুত পদ্ধতিতে পরীক্ষা সাহায্য করার জন্য নির্মিত হয়েছিল. এটি প্রয়োজনীয় বিমূর্ততা এবং বিল্ডিং ব্লকগুলি প্রদান করে যা মেশিন লার্নিং সমাধানগুলি বিকাশ এবং এনক্যাপসুলেট করার জন্য অপরিহার্য৷
এটি অত্যন্ত স্কেলযোগ্য, এবং ক্রস প্ল্যাটফর্ম ক্ষমতার সাথে আসে। এর মানে কেরাস টিপিইউ বা জিপিইউর ক্লাস্টারে চালানো যেতে পারে। কেরাস মডেলগুলি একটি ওয়েব ব্রাউজার বা মোবাইল ফোনেও চালানোর জন্য রপ্তানি করা যেতে পারে৷
কেরাস ইতিমধ্যেই টেনসরফ্লো প্যাকেজের মধ্যে উপস্থিত রয়েছে। এটি কোডের নীচের লাইন ব্যবহার করে অ্যাক্সেস করা যেতে পারে।
টেনসরফ্লো আমদানি কেরা থেকে টেনসরফ্লো আমদানি করুন
হ্যাঁ, একটি কেরাস মডেলকে কেবল একটি স্তর হিসাবে বিবেচনা করা হবে এবং পাইথন ব্যবহার করে আহ্বান করা হবে। কেরাস ফাংশনাল এপিআই এমন মডেল তৈরি করতে সাহায্য করে যা ক্রমিক এপিআই ব্যবহার করে তৈরি মডেলের তুলনায় আরও নমনীয়। কার্যকরী API নন-লিনিয়ার টপোলজি রয়েছে এমন মডেলগুলির সাথে কাজ করতে পারে, স্তরগুলি ভাগ করতে পারে এবং একাধিক ইনপুট এবং আউটপুটগুলির সাথে কাজ করতে পারে। একটি গভীর শিক্ষার মডেল সাধারণত একটি নির্দেশিত অ্যাসাইক্লিক গ্রাফ (DAG) যাতে একাধিক স্তর থাকে। কার্যকরী API স্তরগুলির গ্রাফ তৈরি করতে সাহায্য করে৷
নিচের কোডটি চালানোর জন্য আমরা Google Colaboratory ব্যবহার করছি। Google Colab বা Colaboratory ব্রাউজারে Python কোড চালাতে সাহায্য করে এবং এর জন্য শূন্য কনফিগারেশন এবং GPUs (গ্রাফিক্যাল প্রসেসিং ইউনিট) তে বিনামূল্যে অ্যাক্সেস প্রয়োজন। জুপিটার নোটবুকের উপরে কোলাবোরেটরি তৈরি করা হয়েছে। কেরাস মডেলটিকে একটি স্তর হিসাবে বিবেচনা করার জন্য কোড স্নিপেট এবং পাইথন -
ব্যবহার করে আহ্বান করা হলউদাহরণ
Encoder_input =keras.Input(shape=(28, 28, 1), name=”original_img”)প্রিন্ট("মডেলে লেয়ার যোগ করা হচ্ছে")x =layers.Conv2D(16, 3, activation="relu" )(encoder_input)x =layers.Conv2D(32, 3, activation="relu")(x)x =স্তরসমূহ।MaxPooling2D(3)(x)x =স্তরসমূহ।Conv2D(32, 3, activation="relu") (x)x =স্তরসমূহ।Conv2D(16, 3, activation="relu")(x)print("Performing golbal max pooling")encoder_output =layers.GlobalMaxPooling2D()(x)print("স্তর ব্যবহার করে একটি মডেল তৈরি করা ")এনকোডার =keras.Model(encoder_input, encoder_output, name="encoder")print("মডেল সম্পর্কে আরও তথ্য")encoder.summary()decoder_input =keras.Input(shape=(16,), name="encoded_img ")মুদ্রণ("মডেলের স্তরগুলিকে পুনরায় আকার দেওয়া")x =স্তরগুলি৷ পুনঃআকৃতি ((4, 4, 1))(decoder_input)x =স্তরগুলি৷Conv2DTtranspose(16, 3, activation="relu")(x)x =layers.Conv2DTtranspose(32, 3, activation="relu")(x)x =layers.UpSampling2D(3)(x)x =layers.Conv2DTtranspose(16, 3, activation="relu")(x)decoder_output =layers.Conv2DTtranspose(1, 3, activation="relu")(x)মুদ্রণ("C স্তরগুলি ব্যবহার করে একটি মডেল রিটিং করা")ডিকোডার =keras.Model(decoder_input, decoder_output, name="decoder")print("মডেল সম্পর্কে আরও তথ্য")decoder.summary()autoencoder_input =keras.Input(shape=(28, 28, 1), name="img")encoded_img =encoder(autoencoder_input)decoded_img =decoder(encoded_img)autoencoder =keras.Model(autoencoder_input, decoded_img, name="autoencoder")মুদ্রণ(")মডেল সম্পর্কে আরও তথ্যের জন্য .summary()
কোড ক্রেডিট - https://www.tensorflow.org/guide/keras/functional
আউটপুট
originutlayer) [(কোন, 28, 28, 1)] _______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 8, 8, 32) 0___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________3 ======================================================মোট প্যারামস:18,672টি ট্রেনেবল প্যারামস:18,672টি অ-প্রশিক্ষণযোগ্য প্যারামগুলি:0_________________________________________________________________ টি রিশেপিং সে মডেলে স্তর রাখে স্তরগুলি ব্যবহার করে একটি মডেল তৈরি করা মডেল সম্পর্কে আরও তথ্য মডেল:"ডিকোডার"_________________________________________________________________ স্তর (প্রকার) আউটপুট আকৃতি পরম #=======================> )] 0_________________________________________________________________reshape_1 (পুনর্নির্মাণ) (কোনটি, 4, 4, 1) 0_________________________________________________________________conv2d_transpose_4 (Conv2DTr (একটিও, 6, 6, 16) 160_________________________________________________________________conv2d_transpose_5 (Conv2DTr (একটিও, 8, 8, 32) 4640_________________________________________________________________up_sampling2d_1 (UpSampling2 (কোনটি, 24, 24, 32 ) 0_______________________________________________________________________conv2d_transpose_6 (Conv2DTr (কোনটি নয়, 26, 26, 16) 4624_________________________________________________________ ______________conv2d_transpose_7 (Conv2DTr (কোনটি নয়, 28, 28, 1) 145=================================================================মোট প্যারাম:9,569 প্রশিক্ষণযোগ্য প্যারাম:9,569 অ-প্রশিক্ষণযোগ্য প্যারাম:0_________________________________________________________________ মডেল মডেল সম্পর্কে আরও তথ্য:"অটোএনকোডার" _____________________________________________________________________ স্তর (প্রকার) আউটপুট আকৃতি পরম #=================================================================img (ইনপুট লেয়ার) [(কোনটিই নয়, 28, 28, 1)] 0___________________________________________________________________________________ এনকোডার (কার্যকর) (কোনটিই নয়, 16) 18672____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ এনকোডার ) (কোনটিই নয়, 28, 28, 1) 9569=======================================>ব্যাখ্যা
-
যেকোনো মডেলকে 'ইনপুট' বা অন্য লেয়ারের আউটপুটে আহ্বান করে একটি স্তর হিসাবে বিবেচনা করা যেতে পারে।
-
যখন মডেলটিকে ডাকা হয়, আর্কিটেকচারটি পুনরায় ব্যবহার করা হচ্ছে৷
৷ -
এছাড়াও, ওজনগুলিও পুনরায় ব্যবহার করা হচ্ছে৷
-
অটোএনকোডার মডেলটি এনকোডার মডেল, একটি ডিকোডার মডেল ব্যবহার করে তৈরি করা যেতে পারে।
-
অটোএনকোডার মডেল পেতে এই দুটি মডেল দুটি কলে একত্রে শৃঙ্খলিত।