تاریخ را ذخیره کنید! Google I / O 18-20 مه بازمی گردد اکنون ثبت نام کنید
این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

مشکلات شناخته شده

تلفیق با XLA می تواند عملکرد برنامه های شما را تا حد زیادی بهبود بخشد ، اما قطع کننده TensorFlow دارای تعدادی گوشه تیز شناخته شده است.

گفتگوی TensorArray TF / XLA پشتیبانی نمی شود

پیام خطا : Support for TensorList crossing the XLA/TF boundary is not implemented .

XLA از tf.TensorArray پشتیبانی می tf.TensorArray . با این حال ، گفتگوی بین نمایندگی های TF و XLA هنوز اجرا نشده است. این خطا اغلب زمانی ایجاد می شود که TensorArray در داخل بلوک کامپایلر استفاده می شود ، اما مشتق آن خارج می شود.

راه حل : دورترین محدوده ای را که مشتق را می گیرد ، کامپایل کنید.

TensorFlow در حالی که حلقه ها باید محدود شوند (یا کپی برانز غیرفعال باشد)

پیام خطا : برای 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 در حالی که با استفاده از tf.while_loop ایجاد شده اند ، با جمع آوری تمام نتایج متوسط ​​در TensorArray ، از TensorArray پشتیبانی می کنند ، اما XLA فقط از TensorArray محدود پشتیبانی می کند.

راه حل : همه کامپایل ها در حالی که حلقه ها باید پارامتر maximum_iterations روی یک مقدار ثابت مشخص شده در زمان کامپایل تنظیم کنند ، یا انتشار عقب با استفاده از back_prop=False غیرفعال شده است.

Dynamic tf.TensorArray پشتیبانی نمی شود

نوشتن در tf.TensorArray(..., dynamic_size=True) با XLA سازگار نیستند ، زیرا هنگام نوشتن آرایه از حد اولیه ، تعداد دیگری از آنها به تعداد ناشناخته ای نیاز دارد

راه حل : یک اتصال ثابت به آرایه های خود ارائه دهید.

تولید تعداد تصادفی بذر TF را نادیده می گیرد

در حال حاضر XLA بذور TF را برای انجام عملیات تصادفی نادیده می گیرد. این بر عملکردهای تصادفی TF حالت دار مانند tf.random.normal یا tf.nn.dropout . XLA به گونه ای رفتار خواهد کرد که گویی مجموعه در هر بار با یک بذر منحصر به فرد جدید کاشته می شود. این محدودیت برای عملیات تصادفی بدون حالت اعمال نمی شود.

ادعاهای TensorFlow نادیده گرفته می شوند

tf.Assert که با استفاده از tf.Assert ایجاد شده اند. tf.Assert و توابع مشابه هنگام کامپایل شدن در XLA هیچ نوعی نیستند. در حالی که پشتیبانی از ادعای مناسب در اصل امکان پذیر است ، اما ممکن است بهینه سازی های خاصی را غیرممکن کند (عمدتاً تلفیق بافر که ادعا در آن انجام می شود).

خروجی غیر قطعی

در CPU و GPU ممکن است خروجی غیر قطعی باشد (همان TF مناسب است).

راه حل : برای اجرای جبر ، متغیر محیط TF_DETERMINISTIC_OPS روی 1 (همان TF).