אויב איר לייענען דעם, איר האָט בלי ספק שוין אנגעהויבן דיין יאַזדע אין טיף לערנען. אויב איר זענט נייַ אין דעם טעמע, טיף לערנען איז אַן אַדישאַן וואָס ניצט יינציק מאַרך-ווי סטראַקטשערז גערופן קינסטלעך נעוראַל נעטוואָרקס צו בויען מענטש-ווי קאָמפּיוטערס וואָס מאַכנ זיך פאַקטיש-וועלט ישוז.
צו אַרוישעלפן אין דער אַנטוויקלונג פון די דיזיינז, טעק בעהעמאָטהס ווי Google, פאַסעבאָאָק און ובער האָבן דעוועלאָפּעד אַ פאַרשיידנקייַט פון פראַמעוואָרקס פֿאַר די פּיטהאָן טיף לערנען סוויווע, מאכן עס סימפּלער צו פֿאַרשטיין, שאַפֿן און באַן דייווערס נעוראַל נעטוואָרקס.
א טיף לערנען פריימווערק איז אַ שטיק פון ווייכווארג וואָס אַקאַדעמיקס און דאַטן סייאַנטיס נוצן צו שאַפֿן און באַן טיף לערנען מאָדעלס.
דער ציל פון די פראַמעוואָרקס איז צו מאַכן עס מעגלעך פֿאַר מענטשן צו באַן זייער מאָדעלס אָן צו פֿאַרשטיין די טעקניקס הינטער טיף לערנען, נעוראַל נעטוואָרקס און מאַשין לערנען.
דורך אַ הויך-מדרגה פּראָגראַממינג צובינד, די פראַמעוואָרקס צושטעלן בנין בלאַקס פֿאַר קאַנסטראַקטינג, טריינינג און וועראַפייינג מאָדעלס.
מיר וועלן קוקן אין TensorFlow, Keras, Apache MXNet, Microsoft CNTK און DeepLearing4j ווי אַלטערנאַטיוועס צו PyTorch, וואָס איז אַ וויידלי געוויינט. טיף לערנען פריימווערק.
וואָס איז פּיטאָרטש?
פּיטאָרטש איז אַ פריי, אָפֿן-מקור מאַשין לערנען ביבליאָטעק געבויט מיט די טאָרטש פּיטהאָן ביבליאָטעק.
עס איז געווען באשאפן דורך Facebook ס אַי פאָרשונג גרופּע און ארויס ווי אַ פריי און אָפֿן-מקור ביבליאָטעק אין יאנואר 2016 מיט אַפּלאַקיישאַנז אין קאָמפּיוטער זעאונג, טיף לערנען און נאַטירלעך שפּראַך פּראַסעסינג.
עס האט אַן ימפּעראַטיוו און פּיטהאָניק פּראָגראַממינג שפּראַך וואָס שטיצט קאָד ווי אַ מאָדעל, פאַסילאַטייץ דיבאַגינג און איז קאַמפּאַטאַבאַל מיט אנדערע פאָלקס וויסנשאפטלעכע קאַמפּיוטינג לייברעריז, אַלע בשעת זיי בלייבן עפעקטיוו און געבן ייַזנוואַרג אַקסעלערייטערז ווי גפּוס.
PyTorch איז געוואקסן אין פּאָפּולאַריטעט צווישן טיף לערנען ריסערטשערז דאַנק צו זיין פאָקוס אויף וסאַביליטי און גרונטיק פאָרשטעלונג קאַנסידעריישאַנז.
עס כּולל אַ יקערדיק דאַטן סטרוקטור, Tensor, וואָס איז אַ מולטי-דימענשאַנאַל מענגע ענלעך צו נאַמפּי ערייז, וואָס אַלאַוז פּראָוגראַמערז צו לייכט פּלאַן אַ קאָמפּליצירט. נעוראַל נעץ.
עס איז שיין מער פאָלקס אין קראַנט סעקטאָרס און אין די אַקאַדעמיק קהל רעכט צו זיין בייגיקייט, גיכקייַט און יז פון ימפּלאַמענטיישאַן, מאכן עס איינער פון די מערסט פאָלקס טיף לערנען מכשירים.
פּיטאָרטש שליסל פֿעיִקייטן
- PyTorch איז פּיטהאָן-סענטריק, אָדער "פּיטהאָניק," אין אַז עס איז מענט פֿאַר טיף ינאַגריישאַן מיט פּיטהאָן פּראָגראַממינג אלא ווי צו דינען ווי אַ צובינד צו אַ ביבליאָטעק דעוועלאָפּעד אין אן אנדער שפּראַך.
- פּשוט צו לערנען - PyTorch גייט דער זעלביקער סטרוקטור ווי טראדיציאנעלן פּראָגראַממינג און איז מאַטיקיאַלאַסלי דאַקיומענטאַד, מיט די דעוועלאָפּער קהל שטענדיק טריינג צו פֿאַרבעסערן עס. עס איז דעריבער פּשוט צו לערנען פֿאַר ביידע פּראָוגראַמערז און ניט-פּראָוגראַמערז.
- PyTorch קענען טיילן קאַמפּיוטיישאַנאַל אַרבעט איבער עטלעכע קפּו אָדער גפּו קאָרעס ניצן דאַטן פּאַראַלעלליסם פיייקייַט. כאָטש ענלעך פּאַראַלעליזאַם קענען זיין אַטשיווד מיט אנדערע מאַשין-לערנען טעקניקס, PyTorch מאכט עס פיל גרינגער.
- דיבאַגינג: איינער פון די פילע וויידלי צוטריטלעך פּיטהאָן דיבאַגינג מכשירים (למשל, Python ס pdb און ipdb מכשירים) קענען זיין געוויינט צו דיבאַגינג PyTorch.
- PyTorch שטיצט דינאַמיש קאַמפּיוטיישאַנאַל גראַפס, וואָס ימפּלייז אַז די נאַטור פון די נעץ קענען זיין אָלטערד דינאַמיקאַללי בעשאַס רונטימע.
- PyTorch קומט מיט פאַרשידן ספּעשלי באשאפן מאַדזשולז, אַזאַ ווי טאָרטשטעקסט, טאָרטשוויסיאָן און טאָרטשאַודיאָ, וואָס קענען זיין גענוצט צו האַנדלען מיט פאַרשידן פעלדער פון טיף לערנען, אַזאַ ווי NLP, קאָמפּיוטער זעאונג און קול פּראַסעסינג.
פּיטאָרטש לימיטיישאַנז
- לימיטעד מאָניטאָרינג און וויזשוואַלאַזיישאַן ינטערפייסיז: בשעת TensorFlow ינקלודז אַ שטאַרק וויזשוואַלאַזיישאַן געצייַג פֿאַר דזשענערייטינג די מאָדעל גראַפיק (TensorBoard), PyTorch פעלן דערווייַל דעם שטריך. ווי אַ רעזולטאַט, דעוועלאָפּערס קענען פאַרבינדן צו TensorBoard ויסווייניק אָדער נוצן איינער פון די פילע יגזיסטינג פּיטהאָן. דאַטן וויזשוואַלאַזיישאַן מכשירים.
- PyTorch איז נישט אַ סוף-צו-סוף מאַשין וויסן אַנטוויקלונג פּלאַטפאָרמע; עס דיפּלוידז אַפּלאַקיישאַנז צו סערווערס, ווערקסטיישאַנז און רירעוודיק דעוויסעס.
צוליב אַלע די סיבות, זוכן די בעסטער אַלטערנאַטיוועס צו Pytorch וואָלט זיין אַ קלוג באַשלוס.
מערסט פאָלקס פּיטאָרטש אַלטערנאַטיוועס
דאָ איז די רשימה פון בעסטער אַלטערנאַטיוועס צו Pytorch.
1. Tensorflow
TensorFlow איז אַ טיף לערנען-פאָוקיסט, אָפֿן-מקור פריימווערק באשאפן דורך Google. עס אויך שטיצט נאָרמאַל מאַשין וויסן. TensorFlow איז דיזיינד מיט גרויס נומעריקאַל חשבונות אין זינען, אלא ווי טיף לערנען.
דערצו, עס פּרוווד צו זיין גאַנץ ווערטפול פֿאַר די אַנטוויקלונג פון טיף לערנען, אַזוי Google געמאכט עס בנימצא פֿאַר פריי. TensorFlow נעמט דאַטן אין די פאָרעם פון מולטי-דימענשאַנאַל ערייז מיט גרעסערע דימענשאַנז, באקאנט ווי טענסער. ווען איר האַנדלען מיט ריזיק וואַליומז פון דאַטן, מולטי-דימענשאַנאַל ערייז זענען נוציק.
TensorFlow איז באזירט אויף נאָדע-ברעג דאַטן לויפן גראַפס. ווייַל דער דורכפירונג אופֿן נעמט די פאָרעם פון גראַפס, עס איז פיל גרינגער צו ויספירן TensorFlow קאָד איבער אַ קנויל פון קאָמפּיוטערס בשעת ניצן גפּוס.
C#, Haskell, Julia, R, Ruby, Rust און Scala זענען צווישן די שפּראַכן וואָס TensorFlow ס קהל האט באשאפן שטיצן פֿאַר. TensorFlow אָפפערס די נוץ פון אַ גרויס נומער פון אַקסעס פונקטן.
חוץ שפראַכן, TensorFlow האט אַ גרויס קייט פון מכשירים וואָס פאַרבינדן מיט עס אָדער זענען געבויט אויף שפּיץ פון עס.
אַדוואַנטאַגעס
- עס איז באַניצער-פרייַנדלעך. אויב איר זענט באַקאַנט מיט Python, עס וועט זיין פּשוט צו קלייַבן.
- שטיצן פון די קהל. TensorFlow איז ימפּרוווד פּראַקטאַקלי יעדער טאָג דורך Google און עקספּערט דעוועלאָפּערס פון אנדערע אָרגאַנאַזיישאַנז.
- TensorFlow Lite קענען זיין געוויינט צו ויספירן TensorFlow מאָדעלס אויף רירעוודיק דעוויסעס.
- Tensorboard איז אַ געצייַג פֿאַר מאָניטאָרינג און וויזשוואַלייזינג דאַטן. אויב איר ווילן צו היטן דיין טיף לערנען מאָדעלס אין קאַמף, דאָס איז אַ ויסגעצייכנט געצייַג צו נוצן.
- Tensorflow.js אַלאַוז איר צו נוצן דזשאַוואַסקריפּט צו לויפן פאַקטיש-צייט טיף לערנען מאָדעלס אין דעם בלעטערער.
דיסאַדוואַנטידזשיז
- TensorFlow האט אַ יינציק סטרוקטור, וואָס מאכט עס שווער צו אַנטדעקן און דיבאַגינג ערראָרס.
- עס איז קיין אָפּענקל שטיצן.
- TensorFlow טוט נישט צושטעלן פילע קייפּאַבילאַטיז פֿאַר ניצערס פון די Windows אָפּערייטינג סיסטעם. עס אַנלאַקס אַ שעפע פון קייפּאַבילאַטיז פֿאַר לינוקס יוזערז. אָבער, Windows יוזערז קענען נאָך אראפקאפיע TensorFlow ניצן די אַנאַקאָנדאַ פּינטלעך אָדער די פּיפּ פּעקל.
- TensorFlow פאלן הינטער אין טערמינען פון פאָרשלאָגן סימבאָליש לופּס פֿאַר ינדעפאַנאַט סיקוואַנסיז. עס האט אַ ספּעציפיש נוצן פֿאַר באַזונדער סיקוואַנסיז, מאכן עס אַ ניצלעך סיסטעם. ווי אַ רעזולטאַט, עס איז ריפערד צו ווי אַ נידעריק-מדרגה API.
2. קעראַס
קעראַס איז אַ פּיטהאָן-באזירט טיף לערנען ביבליאָטעק, וואָס דיסטינגגווישיז עס פון אנדערע טיף לערנען פראַמעוואָרקס.
עס איז אַ הויך-מדרגה פּראָגראַממינג שפּראַך וואָס דיפיינז אַ נעוראַל נעץ אַפּי דעפֿיניציע. עס קענען זיין געוויינט ביידע ווי אַ באַניצער צובינד און צו פֿאַרבעסערן די קייפּאַבילאַטיז פון די טיף לערנען פראַמעוואָרקס אויף וואָס עס לויפט.
עס איז אַ מינימאַליסט פריימווערק וואָס איז לייטווייט און גרינג צו נוצן. פֿאַר די סיבות, Keras איז אַ טייל פון TensorFlow ס האַרץ API. א קעראַס פראָנט סוף אַלאַוז גיך פּראָוטאַטייפּ פון נעוראַל נעץ מאָדעלס אין פאָרשונג.
די אַפּי איז גרינג צו אָנכאַפּן און נוצן, מיט די צוגעגעבן באָנוס פון אַלאַוינג מאָדעלס לייכט טראַנספערד צווישן פראַמעוואָרקס.
אַדוואַנטאַגעס
- די Keras API איז פּשוט צו נוצן. די אַפּי איז געזונט-דיזיינד, כייפעץ-אָריענטיד און אַדאַפּטאַבאַל, ריזאַלטינג אין אַ מער ענדזשויאַבאַל באַניצער דערפאַרונג.
- שטיצן פֿאַר פונאנדערגעטיילט טריינינג און מולטי-גפּו פּאַראַלעליזאַם איז געבויט אין.
- Keras איז אַ פּיטהאָן געבוירן מאָדולע וואָס גיט פּשוט אַקסעס צו די גאַנץ פּיטהאָן דאַטן וויסנשאַפֿט סוויווע. Keras מאָדעלס, פֿאַר בייַשפּיל, קענען זיין געוויינט מיט די Python scikit-learn API.
- קעראַס כולל פאַר-טריינד ווייץ פֿאַר עטלעכע טיף לערנען מאָדעלס. מיר קענען נוצן די מאָדעלס גלייַך צו מאַכן פֿאָרויסזאָגן אָדער עקסטראַקט פֿעיִקייטן.
דיסאַדוואַנטידזשיז
- עס קען זיין ינקרעדאַבלי אַנויינג צו באַקומען נידעריק-מדרגה באַקענד ישוז אויף אַ רעגולער יקער. די פראבלעמען אויפשטיין ווען מיר פּרווון צו טאָן טאַסקס וואָס Keras איז נישט מענט צו ויספירן.
- אין פאַרגלייַך מיט זיין באַקענדז, עס קען זיין פויל אויף גפּוס און נעמען מער צו רעכענען. ווי אַ רעזולטאַט, מיר קען האָבן צו קאָמפּראָמיס די גיכקייַט פֿאַר באַניצער-פרייַנדלעך.
- ווען קאַמפּערד מיט אנדערע פּאַקאַדזשאַז אַזאַ ווי סי-קיט-לערן, קעראַס דאַטן-פּרעפּראָסעססינג קייפּאַבילאַטיז זענען נישט ווי אַפּילינג.
3. אַפּאַטשי MXNet
אן אנדער באַוווסט טיף לערנען פריימווערק איז MXNet. MXNet, וואָס איז געווען באשאפן דורך די אַפּאַטשי ווייכווארג וויקיפּעדיע, שטיצט אַ פאַרשיידנקייַט פון שפּראַכן, אַרייַנגערעכנט דזשאַוואַסקריפּט, פּיטהאָן און C ++.
אַמאַזאָן וועב באַדינונגס אויך שטיצט MXNet אין דער אַנטוויקלונג פון טיף לערנען מאָדעלס. עס איז גאָר סקאַלאַבלע, אַלאַוינג פֿאַר שנעל מאָדעל טריינינג, און עס איז קאַמפּאַטאַבאַל מיט אַ פאַרשיידנקייַט פון קאָמפּיוטער שפּראַכן.
צו אַפּטאַמייז גיכקייַט און פּראָודאַקטיוויטי, MXNet אַלאַוז איר צו צונויפגיסן סימבאָליש און ימפּעראַטיוו פּראָגראַממינג שפּראַכן. עס איז באזירט אויף אַ דינאַמיש דעפּענדענסי סקעדזשולער אַז פּאַראַלעליזיז סימבאָליש און ימפּעראַטיוו אַקטיוויטעטן אין פאַקטיש-צייט.
אויף שפּיץ פון דעם, אַ גראַפיק אַפּטאַמאַזיישאַן שיכטע מאכט סימבאָליש דורכפירונג שנעל און זכּרון שפּאָרעוודיק. MXNet איז אַ פּאָרטאַטיוו און לייטווייט ביבליאָטעק.
עס איז פּאַוערד דורך NVIDIA PascalTM GPUs און סקאַלאַבלע איבער עטלעכע גפּוס און נאָודז, אַלאַוינג איר צו באַן מאָדעלס מער געשווינד.
אַדוואַנטאַגעס
- שטיצט גפּוס און האט אַ מולטי-גפּו מאָדע.
- עפעקטיוו, סקאַלאַבלע און בליץ-שנעל.
- אַלע הויפּט פּלאַטפאָרמס זענען אויף ברעט.
- מאָדעל סערווינג איז פּשוט, און די API איז שנעל.
- סקאַלאַ, ר, פּיטהאָן, C ++ און דזשאַוואַסקריפּט זענען צווישן די געשטיצט פּראָגראַממינג שפּראַכן.
דיסאַדוואַנטידזשיז
- MXNet האט אַ קלענערער עפענען מקור קהל ווי TensorFlow.
- ימפּרווומאַנץ, זשוק פיקסיז און אנדערע ימפּרווומאַנץ נעמען מער צו ינסטרומענט רעכט צו אַ פעלן פון באַטייטיק קהל שטיצן.
- MxNet, כאָטש וויידלי אָנגעשטעלט דורך פילע פירמס אין די IT אינדוסטריע, איז נישט אַזוי באַוווסט ווי Tensorflow.
4. מיקראָסאָפט קנטק
Microsoft Cognitive Toolkit (CNTK) איז אַ קאמערשעל ווייאַבאַל אָפֿן-מקור פריימווערק פֿאַר פונאנדערגעטיילט טיף לערנען. עס איז בכלל געניצט צו שאַפֿן נוראַל נעטוואָרקס, אָבער קענען אויך זיין געוויינט פֿאַר מאַשין לערנען און קאַגניטיוו קאַמפּיוטינג.
עס שטיצט אַ פאַרשיידנקייַט פון שפּראַכן און איז פּשוט צו נוצן אויף די וואָלקן. ווייַל פון די מידות, CNTK איז פּאַסיק פֿאַר אַ פאַרשיידנקייַט פון אַי אַפּלאַקיישאַנז. כאָטש מיר קענען נוצן C ++ צו רופן די פאַנגקשאַנז, די מערסט אָפט אָפּציע איז צו נוצן אַ פּיטהאָן פּראָגראַם.
ווען פליסנדיק אויף עטלעכע קאָמפּיוטערס, די Microsoft Cognitive Toolkit איז אנערקענט צו געבן בעסער פאָרשטעלונג און סקאַלאַביליטי ווי טאָאָלקיץ ווי Theano אָדער TensorFlow.
די מיקראָסאָפט קאָגניטיווע טאָאָלקיט שטיצט ביידע RNN און CNN נעוראַל מאָדעלס, וואָס מאכט עס פּאַסיק פֿאַר בילד, כאַנדרייטינג און רעדע דערקענונג טאַסקס.
אַדוואַנטאַגעס
- פּשוט צו ויסשטימען מיט Apache Spark, אַ דאַטן אַנאַליטיקס מאָטאָר.
- די סקאַלאַביליטי פון CNTK האט געמאכט עס אַ פאָלקס ברירה אין פילע געשעפטן. עס זענען עטלעכע אָפּטימיזעד קאַמפּאָונאַנץ.
- אָפפערס סטאַביל און גוט פאָרשטעלונג.
- אַרבעט נייסלי מיט Azure קלאָוד, ביידע פון וואָס זענען געשטיצט דורך מייקראָסאָפֿט.
- ריסאָרס יוטאַלאַזיישאַן און פאַרוואַלטונג זענען עפעקטיוו.
דיסאַדוואַנטידזשיז
- אין פאַרגלייַך מיט Tensorflow, עס איז ווייניקער קהל שטיצן.
- אַ אַראָפאַנג לערנען ויסבייג.
- עס פעלן אַ וויזשוואַלאַזיישאַן ברעט און ARM שטיצן.
5. DeepLearning4j
אויב Java איז דיין ערשטיק פּראָגראַממינג שפּראַך, DeepLearning4j איז אַ גוט פריימווערק צו נוצן. עס איז אַ פונאנדערגעטיילט טיף לערנען ביבליאָטעק וואָס איז געשעפט-מיינונג און אָפֿן-מקור.
אַלע הויפּט טייפּס פון נעוראַל נעץ דיזיינז, אַזאַ ווי RNNs און CNNs, זענען געשטיצט. Deeplearning4j איז אַ דזשאַוואַ און סקאַלאַ ביבליאָטעק פֿאַר טיף לערנען.
עס אַרבעט נייסלי מיט Hadoop און Apache Spark אויך. Deeplearning4j איז אַ ווונדערלעך אָלטערנאַטיוו פֿאַר Java-באזירט טיף לערנען סאַלושאַנז ווייַל עס אויך שטיצט גפּוס.
ווען עס קומט צו די Eclipse Deeplearning4j טיף לערנען פריימווערק, עטלעכע פון די סטאַנדאַוט פֿעיִקייטן אַרייַננעמען פּאַראַלעל טריינינג דורך יטעראַטיווע רידאַקשאַנז, מיקראָ-דינסט אַרקאַטעקטשער אַדאַפּטיישאַן און פונאנדערגעטיילט קפּוס און גפּוס.
אַדוואַנטאַגעס
- עס האט ויסגעצייכנט דאַקיומענטיישאַן און קהל הילף.
- די Apache Spark ינאַגריישאַן איז פּשוט.
- עס איז סקאַלאַבלע און טויגעוודיק פון האַנדלינג ריזיק וואַליומז פון דאַטן.
דיסאַדוואַנטידזשיז
- אין פאַרגלייַך מיט Tensorflow און PyTorch, עס איז ווייניקער פאָלקס.
- Java איז די בלויז פּראָגראַממינג שפּראַך בנימצא.
סאָף
טשאָאָסינג דער בעסטער טיף לערנען פריימווערק איז אַ שווער אונטערנעמונג. מער אַזוי זינט עס זענען אַזוי פילע פון זיי, די רשימה איז גראָוינג ווי פאָדערונג פֿאַר קינסטלעך סייכל פאָרשונג און מאַשין לערנען אַפּלאַקיישאַנז וואַקסן. יעדער פריימווערק האט זייַן אייגענע גאַנג פון פּראָס און דאַונסיידז.
עטלעכע קאַנסידעריישאַנז מוזן זיין געמאכט, אַרייַנגערעכנט זיכערהייט, סקאַלאַביליטי און פאָרשטעלונג. אין פאַרנעמונג-מיינונג סיסטעמען, די פאַרלאָזלעךקייט ווערט אפילו מער וויכטיק.
אויב איר נאָר אָנהייבן, Tensorflow איז אַ גוט אָרט צו אָנהייבן. קלייַבן CNTK אויב איר אַנטוויקלען אַ Windows-באזירט געשעפט פּראָדוקט. אויב איר בעסער וועלן Java, נוצן DL4J.
לאָזן אַ ענטפֿערן