ডকার

ডকার ভার্চুয়াল পরিবেশ তৈরি করতে পাত্র ব্যবহার করে যা সিস্টেমের বাকি অংশ থেকে টেনসরফ্লো ইনস্টলেশনকে বিচ্ছিন্ন করে। TensorFlow প্রোগ্রামগুলি এই ভার্চুয়াল পরিবেশের মধ্যে চালিত হয় যা এর হোস্ট মেশিনের সাথে সংস্থানগুলি ভাগ করতে পারে (অ্যাক্সেস ডিরেক্টরি, GPU ব্যবহার করুন, ইন্টারনেটের সাথে সংযোগ করুন ইত্যাদি)। টেনসরফ্লো ডকার ইমেজ প্রতিটি রিলিজের জন্য পরীক্ষা করা হয়।

ডকার হল লিনাক্সে টেনসরফ্লো জিপিইউ সমর্থন সক্ষম করার সবচেয়ে সহজ উপায় যেহেতু হোস্ট মেশিনে শুধুমাত্র NVIDIA® GPU ড্রাইভার প্রয়োজন ( NVIDIA® CUDA® টুলকিট ইনস্টল করার প্রয়োজন নেই)।

TensorFlow ডকার প্রয়োজনীয়তা

  1. আপনার স্থানীয় হোস্ট মেশিনে ডকার ইনস্টল করুন
  2. লিনাক্সে GPU সমর্থনের জন্য, NVIDIA ডকার সমর্থন ইনস্টল করুন
    • docker -v দিয়ে আপনার ডকার সংস্করণটি নোট করুন। 19.03- এর আগের সংস্করণগুলির জন্য nvidia-docker2 এবং --runtime=nvidia পতাকা প্রয়োজন। 19.03 সহ এবং তার পরে সংস্করণগুলিতে, আপনি nvidia-container-toolkit প্যাকেজ এবং --gpus all পতাকা ব্যবহার করবেন। উভয় বিকল্পই উপরে লিঙ্ক করা পৃষ্ঠায় নথিভুক্ত করা হয়েছে।

একটি টেনসরফ্লো ডকার ইমেজ ডাউনলোড করুন

অফিসিয়াল টেনসরফ্লো ডকার ইমেজ টেনসরফ্লো/টেনসরফ্লো ডকার হাব রিপোজিটরিতে অবস্থিত। চিত্র প্রকাশগুলি নিম্নলিখিত বিন্যাস ব্যবহার করে ট্যাগ করা হয়েছে :

ট্যাগ বর্ণনা
latest TensorFlow CPU বাইনারি ইমেজের সর্বশেষ রিলিজ। ডিফল্ট.
nightly টেনসরফ্লো চিত্রের রাত্রিকালীন নির্মাণ। (অস্থিতিশীল.)
version TensorFlow বাইনারি চিত্রের সংস্করণ উল্লেখ করুন, উদাহরণস্বরূপ: 2.8.3

প্রতিটি বেস ট্যাগের ভেরিয়েন্ট রয়েছে যা কার্যকারিতা যোগ বা পরিবর্তন করে:

ট্যাগ বৈকল্পিক বর্ণনা
tag -gpu GPU সমর্থন সহ নির্দিষ্ট ট্যাগ রিলিজ। ( নিচে দেখ )
tag -jupyter জুপিটারের সাথে নির্দিষ্ট ট্যাগ রিলিজ (টেনসরফ্লো টিউটোরিয়াল নোটবুক অন্তর্ভুক্ত)

আপনি একবারে একাধিক বৈকল্পিক ব্যবহার করতে পারেন। উদাহরণস্বরূপ, নিম্নলিখিত ডাউনলোডগুলি TensorFlow রিলিজ ছবিগুলি আপনার মেশিনে:

docker pull tensorflow/tensorflow                     # latest stable release
docker pull tensorflow/tensorflow:devel-gpu           # nightly dev release w/ GPU support
docker pull tensorflow/tensorflow:latest-gpu-jupyter  # latest release w/ GPU support and Jupyter

একটি টেনসরফ্লো ডকার কন্টেইনার শুরু করুন

একটি টেনসরফ্লো-কনফিগার করা ধারক শুরু করতে, নিম্নলিখিত কমান্ড ফর্মটি ব্যবহার করুন:

docker run [-it] [--rm] [-p hostPort:containerPort] tensorflow/tensorflow[:tag] [command]

বিস্তারিত জানার জন্য, ডকার রান রেফারেন্স দেখুন।

CPU-শুধু ইমেজ ব্যবহার করার উদাহরণ

latest ট্যাগ করা ছবি ব্যবহার করে TensorFlow ইনস্টলেশন যাচাই করা যাক। প্রথমবার চালানো হলে ডকার একটি নতুন টেনসরফ্লো ইমেজ ডাউনলোড করে:

docker run -it --rm tensorflow/tensorflow \
   python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

আসুন আরও কিছু টেনসরফ্লো ডকার রেসিপি দেখাই। একটি টেনসরফ্লো-কনফিগার করা পাত্রের মধ্যে একটি bash শেল সেশন শুরু করুন:

docker run -it tensorflow/tensorflow bash

কন্টেইনারের মধ্যে, আপনি একটি python সেশন শুরু করতে এবং TensorFlow আমদানি করতে পারেন।

একটি কন্টেইনারের মধ্যে হোস্ট মেশিনে বিকশিত একটি TensorFlow প্রোগ্রাম চালানোর জন্য, হোস্ট ডিরেক্টরিটি মাউন্ট করুন এবং কন্টেইনারের কার্যকারী ডিরেক্টরি পরিবর্তন করুন ( -v hostDir:containerDir -w workDir ):

docker run -it --rm -v $PWD:/tmp -w /tmp tensorflow/tensorflow python ./script.py

একটি কন্টেইনারের মধ্যে তৈরি করা ফাইলগুলি হোস্টের কাছে উন্মুক্ত হলে অনুমতির সমস্যা দেখা দিতে পারে। হোস্ট সিস্টেমে ফাইল সম্পাদনা করা সাধারণত ভাল।

TensorFlow এর রাতের বিল্ড ব্যবহার করে একটি Jupyter Notebook সার্ভার শুরু করুন:

docker run -it -p 8888:8888 tensorflow/tensorflow:nightly-jupyter

নির্দেশাবলী অনুসরণ করুন এবং আপনার হোস্ট ওয়েব ব্রাউজারে URL খুলুন: http://127.0.0.1:8888/?token=...

GPU সমর্থন

ডকার হল GPU-তে টেনসরফ্লো চালানোর সবচেয়ে সহজ উপায় যেহেতু হোস্ট মেশিনের জন্য শুধুমাত্র NVIDIA® ড্রাইভার প্রয়োজন ( NVIDIA® CUDA® টুলকিটের প্রয়োজন নেই)।

ডকারে NVIDIA® GPU সমর্থন যোগ করতে এনভিডিয়া কন্টেইনার টুলকিট ইনস্টল করুন। nvidia-container-runtime শুধুমাত্র Linux-এর জন্য উপলব্ধ। বিস্তারিত জানার জন্য nvidia-container-runtime প্ল্যাটফর্ম সমর্থন FAQ দেখুন।

একটি GPU উপলব্ধ কিনা পরীক্ষা করুন:

lspci | grep -i nvidia

আপনার nvidia-docker ইনস্টলেশন যাচাই করুন:

docker run --gpus all --rm nvidia/cuda nvidia-smi

GPU-সক্ষম ছবি ব্যবহার করার উদাহরণ

একটি GPU-সক্ষম TensorFlow ছবি ডাউনলোড করুন এবং চালান (কয়েক মিনিট সময় লাগতে পারে):

docker run --gpus all -it --rm tensorflow/tensorflow:latest-gpu \
   python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

GPU-সক্ষম ইমেজ সেট আপ করতে কিছু সময় লাগতে পারে। বারবার GPU-ভিত্তিক স্ক্রিপ্ট চালানো হলে, আপনি একটি ধারক পুনরায় ব্যবহার করতে docker exec ব্যবহার করতে পারেন।

কন্টেইনারে bash শেল সেশন শুরু করতে লেটেস্ট টেনসরফ্লো জিপিইউ ইমেজ ব্যবহার করুন:

docker run --gpus all -it tensorflow/tensorflow:latest-gpu bash