কম্পিউটার

পাইথনে একটি einsum এক্সপ্রেশনের জন্য সর্বনিম্ন খরচের সংকোচন ক্রম মূল্যায়ন করুন


একটি einsum এক্সপ্রেশনের জন্য সর্বনিম্ন খরচের সংকোচনের আদেশ পেতে, পাইথনে numpy.einsum+path() পদ্ধতি ব্যবহার করুন। 1ম প্যারামিটার, সাবস্ক্রিপ্ট যোগফলের জন্য সাবস্ক্রিপ্ট নির্দিষ্ট করে। 2য় প্যারামিটার, অপারেন্ড হল অপারেশনের জন্য অ্যারে।

আইনস্টাইন সমষ্টি কনভেনশন ব্যবহার করে, অনেক সাধারণ বহুমাত্রিক, রৈখিক বীজগাণিতিক বিন্যাস একটি সহজ ফ্যাশনে উপস্থাপন করা যেতে পারে। অন্তর্নিহিত মোডে einsum এই মানগুলি গণনা করে।

সুস্পষ্ট মোডে, einsum অন্যান্য অ্যারে ক্রিয়াকলাপগুলিকে গণনা করার জন্য আরও নমনীয়তা প্রদান করে যেগুলিকে ক্লাসিক্যাল আইনস্টাইন সমীকরণ ক্রিয়াকলাপ হিসাবে বিবেচনা করা যায় না, অক্ষম করে, বা যোগফল অতিরিক্ত নির্দিষ্ট সাবস্ক্রিপ্ট লেবেলগুলি জোর করে৷

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

পদক্ষেপ

প্রথমে, প্রয়োজনীয় লাইব্রেরিগুলি আমদানি করুন -

numpy np হিসাবে আমদানি করুন

টেনসর -

p =np.random.rand(2, 2)q =np.random.rand(2, 5)r =np.random.rand(5, 2)

একটি einsum এক্সপ্রেশনের জন্য সর্বনিম্ন খরচের সংকোচনের আদেশ পেতে, numpy.einsum+path() পদ্ধতিটি ব্যবহার করুন -

path_info =np.einsum_path('ij,jk,kl->il', p, q, r, optimize='greedy')

পথের তথ্য প্রদর্শন করা হচ্ছে −

print(path_info[0])print(path_info[1])

উদাহরণ

npnp.random.seed(123)# Tensorsp =np.random.rand(2, 2)q =np.random.rand(2, 5)r =np.random.rand(5, 2) হিসাবে
numpy আমদানি করুন )# একটি einsum এক্সপ্রেশনের জন্য সর্বনিম্ন খরচের সংকোচন ক্রম পেতে, Pythonpath_info =np.einsum_path('ij,jk,kl->il', p, q, r, optimize=এ numpy.einsum+path() পদ্ধতিটি ব্যবহার করুন 'লালসা' 

আউটপুট

['einsum_path', (1, 2), (0, 1)] সম্পূর্ণ সংকোচন:ij,jk,kl->il নেভ স্কেলিং:4 অপ্টিমাইজ করা স্কেলিং:3 নেভ FLOP গণনা:1.200e+02 অপ্টিমাইজড FLOP গণনা :5.700e+01 তাত্ত্বিক গতি:2.105 বৃহত্তম মধ্যবর্তী:4.000e+00 উপাদান------------------- ----------------------------------------- স্কেলিং কারেন্ট অবশিষ্ট------ -------------------------------------------------- ------------------ 3 kl,jk->jl ij,jl->il 3 jl,ij->il il->il

  1. পাইথনে সংখ্যাগুলিকে আরোহী বা অবরোহী ক্রমে সাজানোর জন্য সর্বনিম্ন খরচ খুঁজে বের করার প্রোগ্রাম

  2. মিন কস্ট পাথের জন্য পাইথন প্রোগ্রাম

  3. পাইথনে সুষম বন্ধনী পরীক্ষা করুন

  4. পাইথনে শব্দগুলিকে অভিধানিক ক্রমে সাজান