আমার বিতরণকৃত টেনসরফ্লো ব্যবহার করার পরিকল্পনা রয়েছে এবং আমি দেখেছিলাম টেনসরফ্লো প্রশিক্ষণ এবং পরীক্ষার জন্য জিপিইউ ব্যবহার করতে পারে। একটি ক্লাস্টারের পরিবেশে, প্রতিটি মেশিনের 0 বা 1 বা তার বেশি জিপিইউ থাকতে পারে এবং আমি আমার টেনসরফ্লো গ্রাফটি যতটা সম্ভব মেশিনে জিপিইউতে চালাতে চাই।
আমি দেখেছি যে tf.Session()
টেনসরফ্লো চালানোর সময় নীচের মতো লগ বার্তাগুলিতে জিপিইউ সম্পর্কিত তথ্য দেয়:
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0: Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:01:00.0)
আমার প্রশ্নটি হল টেনসরফ্লো থেকে আমি কীভাবে বর্তমান উপলব্ধ জিপিইউ সম্পর্কে তথ্য পাব? আমি লগ থেকে জিপিইউ লোড করা তথ্য পেতে পারি, তবে আমি এটি আরও পরিশীলিত, প্রোগ্রামিক পদ্ধতিতে করতে চাই want আমি জিপিইউগুলি ইচ্ছাকৃতভাবে CUDA_VISIBLE_DEVICES এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে বাধা দিতে পারি, তাই আমি ওএস কার্নেল থেকে জিপিইউ তথ্য পাওয়ার কোনও উপায় জানতে চাই না।
সংক্ষেপে, আমি মেশিনে দুটি জিপিইউ উপলব্ধ থাকলে সেটির মতো একটি ফাংশনটি tf.get_available_gpus()
ফিরে আসতে চাই ['/gpu:0', '/gpu:1']
। আমি কীভাবে এটি বাস্তবায়ন করতে পারি?