এন Estimator ইনস্ট্যানশিয়েট করা যায় টেনসরফ্লো দিয়ে 'DNNClassifier' মেথড ব্যবহার করে যা টেনসরফ্লো লাইব্রেরির 'estimator' ক্লাসে রয়েছে।
আরও পড়ুন: টেনসরফ্লো কী এবং কেরাস কীভাবে টেনসরফ্লোর সাথে কাজ করে নিউরাল নেটওয়ার্ক তৈরির জন্য?
আমরা কেরাস সিকুয়েনশিয়াল API ব্যবহার করব, যা একটি সিকুয়েনশিয়াল মডেল বানাতে সাহায্য করে যেখানে প্রতিটি লেয়ারের ঠিক একটি ইনপুট টেনসর এবং একটি আউটপুট টেনসর থাকে।
কমপক্ষে একটি লেয়ার থাকা নিউরাল নেটওয়ার্ককে কনভোল্যুশনাল লেয়ার বলা হয়। আমরা কনভোল্যুশনাল নিউরাল নেটওয়ার্ক ব্যবহার করে লার্নিং মডেল বানাতে পারি।
টেনসরফ্লো টেক্সট (TensorFlow Text) টেক্সট-রিলেটেড ক্লাস ও অপ্সের সংকলন যা টেনসরফ্লো ২.০-এর সাথে ব্যবহার করা যায়। টেনসরফ্লো টেক্সট সিকুয়েন্স মডেলিং প্রিপ্রসেস করতে ব্যবহৃত হয়।
নিচের কোড চালানোর জন্য আমরা গুগল কোলাবরেটরি ব্যবহার করছি। গুগল কোল্যাব বা কোলাবরেটরি ব্রাউজারের ওপর পাইথন কোড চালাতে সাহায্য করে এবং জিরো কনফিগারেশন ও ফ্রি জিপিইউ (GPU) অ্যাক্সেস দেয়। কোলাবরেটরি জুপিটার নোটবুকের ওপর বিল্ড করা হয়েছে।
এন Estimator হলো টেনসরফ্লোর হাই-লেভেল রিপ্রেজেন্টেশন একটি সম্পূর্ণ মডেলের। এটি সহজ স্কেলিং ও অ্যাসিঙ্ক্রোনাস ট্রেনিং-এর জন্য ডিজাইন করা।
মডেলটি আইরিস ডেটাসেট দিয়ে ট্রেন করা হয়েছে।
উদাহরণ
print("Build a DNN that has 2 hidden layers with 30 and 10 hidden nodes each")
classifier = tf.estimator.DNNClassifier(
feature_columns=my_feature_columns,
hidden_units=[30, 10],
n_classes=3)
কোড ক্রেডিট: https://www.tensorflow.org/tutorials/estimator/premade#first_things_first
আউটপুট
Build a DNN that has 2 hidden layers with 30 and 10 hidden nodes each
INFO:tensorflow:Using default config.
WARNING:tensorflow:Using temporary folder as model directory: /tmp/tmpdh8866zb
INFO:tensorflow:Using config: {'_model_dir': '/tmp/tmpdh8866zb', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': allow_soft_placement: true graph_options { rewrite_options { meta_optimizer_iterations: ONE } } , '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_device_fn': None, '_protocol': None, '_eval_distribute': None, '_experimental_distribute': None, '_experimental_max_worker_delay_secs': None, '_session_creation_timeout_secs': 7200, '_checkpoint_save_graph_def': True, '_service': None, '_cluster_spec': ClusterSpec({}), '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}
ব্যাখ্যা
- আইরিস সমস্যাটিকে ক্লাসিফিকেশন সমস্যা হিসেবে বিবেচনা করা হয়।
- টেনসরফ্লোতে অনেক প্রি-মেড ক্লাসিফায়ার Estimator রয়েছে, যার মধ্যে:
- tf.estimator.DNNClassifier - গভীর মডেলের জন্য যা মাল্টি-ক্লাস ক্লাসিফিকেশন করে।
- tf.estimator.DNNLinearCombinedClassifier - ওয়াইড অ্যান্ড ডিপ মডেলের জন্য।
- tf.estimator.LinearClassifier - লিনিয়ার মডেল-ভিত্তিক ক্লাসিফায়ারের জন্য।
- আইরিস সমস্যায় আমরা tf.estimator ব্যবহার করি।