XLA এর সাথে সংকলন আপনার প্রোগ্রামগুলির কার্যকারিতাকে ব্যাপকভাবে উন্নত করতে পারে, তবে TensorFlow ইন্টারপ-এ বেশ কয়েকটি পরিচিত তীক্ষ্ণ কোণ রয়েছে।
tf.Variable
একটি আলাদা ডিভাইসে
ত্রুটি বার্তা: INVALID_ARGUMENT: Trying to access resource <Variable> (defined @ <Loc>) located in device CPU:0 from device GPU:0
XLA ক্লাস্টার ঠিক একটি ডিভাইস উপর সঞ্চালিত হয়, এবং এটি পড়তে বা লিখতে পারে না tf.Variable
একটি আলাদা ডিভাইসে অবস্থিত। সাধারণত এই ত্রুটি বার্তাটি নির্দেশ করে যে ভেরিয়েবলটি শুরু করার জন্য সঠিক ডিভাইসে স্থাপন করা হয়নি। ত্রুটি বার্তা অবিকল আপত্তিজনক পরিবর্তনশীল অবস্থান নির্দিষ্ট করা উচিত.
TensorArray TF/XLA আন্তঃরূপান্তর সমর্থিত নয়
ত্রুটি বার্তা: Support for TensorList crossing the XLA/TF boundary is not implemented
।
XLA সমর্থন tf.TensorArray
। যাইহোক, TF এবং XLA উপস্থাপনা মধ্যে interconversion এখনও কার্যকর করা নেই। এই ত্রুটিটি প্রায়ই দেখা দেয় যখন TensorArray
কম্পাইল ব্লক ভিতরে ব্যবহার করা হয়, কিন্তু ব্যুৎপন্ন বাহিরে নেওয়া হয়।
কার্যসংক্রান্ত: দূরতম সুযোগ যা ব্যুৎপন্ন নিচ্ছে কম্পাইল।
টেনসরফ্লো যখন লুপগুলিকে আবদ্ধ করা দরকার (বা ব্যাকপ্রপ অক্ষম করা আছে)
ত্রুটি বার্তা: XLA compilation requires a fixed tensor list size. Set the max number of elements. This could also happen if you're using a TensorArray in a while loop that does not have its maximum_iteration set, you can fix this by setting maximum_iteration to a suitable value
।
মেমরি যখন লুপ ব্যবহার করে তৈরি করা tf.while_loop
একটি সমস্ত অন্তর্বর্তী ফলাফল সঁচায়ক দ্বারা সমর্থন backpropagation TensorArray
কিন্তু XLA শুধুমাত্র বেষ্টিত সমর্থন TensorArray
গুলি।
কার্যসংক্রান্ত: সমস্ত কম্পাইল যখন loops প্রয়োজন হয় আছে maximum_iterations
একটি ধ্রুবক কম্পাইল সময়ে পরিচিত মান সেট পরামিতি, অথবা backpropagation ব্যবহার অক্ষম back_prop=False
।
ডায়নামিক tf.TensorArray
সমর্থিত নয়
মধ্যে লিখেছে tf.TensorArray(..., dynamic_size=True)
যখন অ্যারের মূল আবদ্ধ অতিক্রম করে যেমন লিখেছেন reallocations অজানা সংখ্যক প্রয়োজন, XLA সঙ্গে compilable হয়।
কার্যসংক্রান্ত: প্রদান একটি স্ট্যাটিক্যালি আপনার অ্যারে আবদ্ধ পরিচিত।
এলোমেলো সংখ্যা প্রজন্ম TF বীজ উপেক্ষা করে
XLA বর্তমানে এলোমেলো অপারেশনের জন্য TF বীজ উপেক্ষা করে। এই যেমন stateful মেমরি র্যান্ডম অভিযান প্রভাবিত tf.random.normal
, অথবা tf.nn.dropout
। XLA এমনভাবে আচরণ করবে যেন একই প্রক্রিয়ার মধ্যে প্রতিটি রানে একটি নতুন অনন্য বীজ দিয়ে সংকলনটি বীজ করা হয়েছে (প্রক্রিয়াটির প্রথম রান সর্বদা একই ফলাফল দেবে)।
কার্যসংক্রান্ত: ব্যবহার করা বাঞ্ছনীয় RNGs যেমন tf.random.stateless_uniform
বা tf.random.Generator
সরাসরি।