Google JAX
گوگل جیکس عددی افعال کو تبدیل کرنے کے لیے ایک مشین لرننگ فریم ورک ہے۔ اسے آٹوگراڈ (کسی فنکشن کی تفریق کے ذریعے گریڈینٹ فنکشن کا خودکار حصول) اور ٹینسر فلو کے ایکس ایل اے (ایکسلریٹڈ لکیری الجبرا) کے ایک ترمیم شدہ ورژن کو اکٹھا کرنے کے طور پر بیان کیا گیا ہے۔ یہ نمپی کے ڈھانچے اور ورک فلو کی زیادہ سے زیادہ قریب سے پیروی کرنے کے لیے ڈیزائن کیا گیا ہے اور مختلف موجودہ فریم ورک جیسے ٹینسر فلو اور پائی ٹورچ کے ساتھ کام کرتا ہے۔ جے اے ایکس کے بنیادی افعال یہ ہیں: گرڈ: خودکار تفریق جٹ: تالیف وی میپ: خودکار ویکٹرائزیشن پی ایم اے پی: ایس پی ایم ڈی پروگرامنگ گرڈ نیچے دیا گیا کوڈ فنکشن کی خودکار تفریق کو ظاہر کرتا ہے۔ جے ایکس امپورٹ گرڈ امپورٹ jax.numpy سے جے این پی کے طور پر #درآمدات لاجسٹک فنکشن ڈیف لاجسٹک (x) کی وضاحت کرتے ہیں: واپسی jnp.exp (x)/(jnp.exp (x) + 1) #لاجسٹک فنکشن کے گریڈینٹ فنکشن کو حاصل کریں گرڈ لاجسٹک = گرڈ (لاجسٹک) #لاجسٹک فنکشن کے گریڈینٹ کا اندازہ کریں x = 1 گرڈ لاگ آؤٹ = گرڈ لاجسٹک (1) پرنٹ (گرڈ لاگ آؤٹ) آخری لائن کو آؤٹ پٹ ہونا چاہیے 0.19661194 جٹ نیچے دیا گیا کوڈ فیوژن کے ذریعے جٹ فنکشن کی اصلاح کو ظاہر کرتا ہے۔ جیکس امپورٹ سے #درآمدات جیٹ امپورٹ jax.numpy جیسا کہ جے این پی #کیوب فنکشن ڈیف کیوب (ایکس) کی وضاحت کرتا ہے: ریٹرن ایکس * ایکس * ایکس #ڈیٹا پیدا کرتا ہے ایکس = jnp.ones ((10000,10000)) #کیوب فنکشن کا جیٹ ورژن بنائیں جیٹ _ کیوب = جیٹ (کیوب) #رفتار کے موازنہ کیوب (ایکس) جیٹ _ کیوب (ایکس) کے لیے کیوب اور جیٹ _ کیوب فنکشن کو اسی ڈیٹا پر لاگو کریں۔ 17) (لائن نمبر 16) کے لیے اس سے نمایاں طور پر چھوٹا ہونا چاہیے۔ لائن نمبر پر اقدار میں اضافہ کرنا۔ 7، فرق میں اضافہ کرے گا۔ وی میپ نیچے دیا گیا کوڈ فنکشن کی ویکٹرائزیشن کو ظاہر کرتا ہے۔ فنکٹولز سے #درآمدات جیکس امپورٹ وی میپ امپورٹ jax.numpy سے جزوی درآمد کرتے ہیں جیسا کہ جے این پی #فنکشن ڈیف گریڈز کی وضاحت کرتا ہے (سیلف، ان پٹ): ان _ گرڈ _ پارسل = پارسل (self._net_grads، self._net_params) گرڈ _ وی میپ = وی میپ (ان _ گرڈ _ پارسل) رچ _ گریڈز = گرڈ _ وی میپ (ان پٹ) فلیٹ _ گریڈز = np.asarray (self._flatten_batch (رچ _ گریڈز)) کا دعوی flat_grads.ndim = = 2 اور flat_grads.shape [0] = inputs.shape [0] ریٹرن فلیٹ _ گریڈز اس حصے کے دائیں طرف موجود جی آئی ایف ویکٹرائزڈ اضافے کے تصور کی وضاحت کرتا ہے۔ پی ایم اے پی نیچے دیا گیا کوڈ میٹرکس ضرب کے لیے فنکشن کے متوازی ہونے کو ظاہر کرتا ہے۔ #درآمد کریں پی میپ اور جے اے ایکس سے بے ترتیب ؛ جے اے ایکس امپورٹ پی میپ سے جے اے ایکس نمپی درآمد کریں، جے این پی کے طور پر بے ترتیب درآمد کریں jax.numpy طول و عرض کے 2 بے ترتیب میٹرکس پیدا کریں 5000 x 6000، ایک فی ڈیوائس بے ترتیب _ چابیاں = random.split (random.PRNGKey (0)، 2) میٹرکس = پی میپ (لیمبڈا کلید: random.normal (کلید، (5000، 6000))) (بے ترتیب _ چابیاں) #ڈیٹا ٹرانسفر کے بغیر، متوازی طور پر، ہر سی پی یو/جی پی یو آؤٹ پٹ پر مقامی میٹرکس ضرب انجام دیں = پی میپ (لیمبڈا ایکس: jnp.dot (ایکس، ایکس ٹی)) (میٹرکس) #بغیر ڈیٹا ٹرانسفر کے، متوازی طور پر، اس کے لیے اوسط حاصل کریں ایکونکس، ایک لائبریری جو پیرامیٹرائزڈ افعال (بشمول نیورل نیٹ ورکس) کی نمائندگی کرنے کے خیال کے گرد گھومتی ہے۔ اسے پیٹرک کجر نے تخلیق کیا تھا۔ ڈفریکس، تفریقی مساوات کے عددی حل کے لیے ایک لائبریری، جیسے کہ عام تفریقی مساوات اور اسٹاکسٹک تفریقی مساوات۔ آپٹیکس، ڈیپ مائنڈ کے ذریعہ تیار کردہ گریڈینٹ پروسیسنگ اور اصلاح کے لیے ایک لائبریری۔ لکیریکس، عددی طور پر لکیری سسٹمز اور لکیری لیسٹ اسکوائرز کو حل کرنے کے لیے ایک لائبریری ہے۔ آر لیکس، ڈیپ مائنڈ کے ذریعہ تیار کردہ کمک سیکھنے والے ایجنٹوں کو تیار کرنے کے لیے ایک لائبریری ہے۔ گراف، گراف نیورل نیٹ ورکس کے لیے ایک لائبریری، جسے ڈیپ مائنڈ نے تیار کیا ہے۔ جیکس ٹائپنگ، صفوں یا ٹینسرز کی شکل اور ڈیٹا ٹائپ ("ڈی ٹائپ") کے لیے ٹائپ اینوٹیشن شامل کرنے کے لیے ایک لائبریری۔ کچھ آر لائبریریاں جے اے ایکس کو بیک اینڈ کے طور پر بھی استعمال کرتی ہیں، بشمول: فاسٹررینڈومائز، ایک لائبریری جو جے اے ایکس میں لکیری الجبرا آپٹیمائزڈ مرتب کا استعمال کرتی ہے تاکہ تجربات کے طریقہ کار کے ڈیزائن میں متوازن بے ترتیب کے انتخاب کو تیز کیا جا سکے جسے ریرینڈومائزیشن کہا جاتا ہے۔ نمپی ٹینسر فلو پائ ٹورچ سی یو ڈی اے آٹومیٹک تفریق جسٹ ان ٹائم تالیف ویکٹرائزیشن آٹومیٹک متوازی بیرونی لنکس ڈاکیومینٹیشن۔ کولاب (جپٹر/آئیپیتھون) کوئیک اسٹارٹ گائیڈ۔ ٹینسر فلو کا ایکس ایل اے۔ (تیز لکیری الجبرا) اصل کاغذ۔ حوالہ جات مشین لرننگ جے اے ایکس