ディープラーニングが再び認知されて以来、多くの機械学習フレームワークが登場し、研究者や業界の専門家の間で新たな人気を博そうと競い合っています。 Caffe や Theano などの初期の学術的成果から、産業界から多大な支援を受けている PyTorch や TensorFlow まで、多くの研究者は膨大な数の学習フレームワークに直面しており、どのように選択すればよいかわかりません。 最新バージョンを比較して、2021年にどれを選びますか? "> 機械学習フレームワーク。 Tensorflow/Keras と PyTorch は、今のところ最も人気のある 2 つの主要な機械学習ライブラリです。 TensorFlow は Google チームによって開発され、2015 年にリリースされました。 PyTorch は Facebook のチームによって開発され、2017 年に GitHub でオープンソース化されました。 さまざまな機械学習フレームワークの利点を最大限に活用するために、多くの機械学習実践者はさまざまなフレームワークを比較し、その長所と短所を比較して自分に最も適したフレームワークを選択してきました。 この記事では、機械学習ライブラリ (PyTorch 1.8 と Tensorflow 2.5) を次の 2 つの観点から比較します。
Tensorflow 2.x と Pytorch 1.8 の比較 テンソルフロー2.x TensorFlow 1 と TensorFlow 2.x の間には多くの変更があります。 1 つ目は Tensorflow.js のリリースです。 Web アプリケーションがますます普及するにつれて、ブラウザにモデルを展開する必要性が大幅に増加しました。 Tensorflow.js を使用すると、Node を使用してブラウザーで既存の Python モデルを実行したり、既存のモデルを再トレーニングしたり、モデルを完全に Javascript で構築およびトレーニングしたりできます (Python は不要)。 Tensorflow 2.x のもう 1 つのリリースは、モバイル デバイスや組み込みデバイスにモデルを展開するための軽量ライブラリである Tensorflow Lite です。これは、モバイル アプリケーションと Web アプリケーションが、最も主流の 2 つのアプリケーション タイプであるためです。 Tensorflow Lite を使用すると、既存のモデルを圧縮されたフラット バッファーに変換し、そのバッファーをモバイル デバイスやその他の組み込みデバイスに読み込むことができます。ここで行われる主な最適化は、32 ビット浮動小数点値を 8 ビットに変換することです。これは組み込みデバイスにより適しています (メモリ使用量が少なくなります)。 また、本番環境の ML パイプラインを展開するためのエンドツーエンドのプラットフォームである Tensorflow Extended (TFX) のリリースも含まれています。これは、機械学習の最も重要な 3 つの領域、つまり Web アプリケーション、モバイル アプリケーション、および生産管理で優れた機能を発揮します。機械学習の制作パイプラインには、まだ多くの研究開発が必要です。 TFX は、スケーラビリティ、保守性、モジュール性などの従来のソフトウェア制作の課題に対処します。さらに、継続的なオンライン学習、データ検証、データ管理など、機械学習の特定の課題の解決にも役立ちます。 パイトーチ1.8 Tensorflow Lite と同様に、PyTorch は既存の Pytorch Mobile を改良したものです。このフレームワークは、Android および iOS のモデルを量子化、追跡、最適化、保存できます。モバイル デバイス上のバイナリ ランタイムのサイズを縮小する Pytorch Lite Interpreter のプロトタイプもリリースされました。さらに、より具体的なエラー処理とパイプラインの並列処理を通じて、分散トレーニングに対するサポートが強化されます。 Pytorch Profiler は、アプリやモデルの実行時間、実行フロー、メモリ消費などを分析するために使用されます。 Pytorch Lightning は PyTorch 1.8 の一部ではありませんが、言及する価値はあります。ニューラル ネットワークのコーディングをはるかに簡単にする Pytorch Lightning がリリースされました。これは Pytorch 用の Keras と考えればよく、広く使用されています。その理由は、Keras によってモデルの実装がはるかに簡単かつ高速になり、Tensorflow が大幅に改善されるからです。 Pytorch では、Pytorch Lightning が同じ役割を果たします。 どうやって選ぶ? 本質的には、どちらのライブラリも非常に優れており、パフォーマンスと機能の面でも非常に近いです。全体的に、2 つのライブラリ間のコーディング スタイルには若干の違いがあります。 最新バージョンを比較して、2021年にどれを選びますか? ">PyTorch は OOP (オブジェクト指向プログラミング) スタイルで知られています。たとえば、カスタム モデルまたはカスタム データセットを作成する場合、デフォルトの PyTorch ライブラリから継承する新しいクラスを作成してから、コードを調整する可能性が高くなります。 OOP は何らかの方法でコードに構造を提供しますが、コード行数の点でコードが非常に長くなります。 一方、Tensorflow を使用する場合は、Keras を使用することになります。たとえば、Kaggle のコンペティション (教師あり学習による画像分類、オブジェクト検出、画像セグメンテーション、NLP などのタスク) に参加すると、Keras のコード実装が PyTorch よりも短いことがわかります。初心者/中級者にとっては、コード行を読んだり分解したりするのに多くの時間を費やす必要がないため、これは非常に良い選択肢です。 場合によっては、機械学習の特定の分野で特定のモデルを見つける必要があります。たとえば、物体検出のコンペティションに参加していて、DETR (Facebook のデータ効率の良いトランスフォーマー) を実装したいと思ったとき、ほとんどのリソースが PyTorch で書かれていることがわかったので、この場合は PyTorch を使用する方が簡単でした。さらに、PyTorch の実装は、多くの低レベルの詳細をカバーしているため長くなります。これは利点であると同時に欠点でもあります。初心者の場合は、まず低レベルの詳細を学習し、その後 Keras などの高レベルの API を使用すると非常に役立ちます。ただし、多くの詳細とかなり長いコード スニペットに迷ってしまう可能性があるため、これは欠点でもあります。したがって、基本的に、厳しい期限内で作業している場合は、PyTorch よりも Keras を選択することをお勧めします。 |
>>: 3人が「テーブルを囲む」脳科学VS人工知能、相互ゲームをどう突破するのか?
人工知能(AI)は物理学の分野を含む多くの産業に変革をもたらしています。物理学では、AI は複雑な問...
[[431145]]過去1年間、COVID-19パンデミックにより、多くの業界が開発戦略を再考し、変...
中国では、口座間の送金、銀行ローンの申請、取引の実行にインターネットを利用することが住民にとって日常...
今年の初め、世界中で人工知能の発展に注目していた人たちの注目を集めた出来事が2つありました。一つは、...
人工知能(AI)が高度化し普及するにつれて、サイバーセキュリティの脅威が増大します。ハッカーやサイバ...
[[386200]] [51CTO.com クイック翻訳] 事実によれば、ロボティックプロセスオー...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
人工知能 (AI) は誕生以来長い道のりを歩み、大きな進歩を遂げています。これは、Amazon や ...
最近、ヘルシンキ大学の研究者らは、脳信号を監視することでコンピューターが視覚知覚をシミュレートできる...
私たちは幼児期から言語を吸収し始めます。簡単な単語は1年目か2年目に出てきます。 6 歳までに語彙は...
最近、中国のビッグデータおよび人工知能製品と技術の大手プロバイダーであるPERCENTは、コンピュー...
「中国の人工知能の応用と商業化の探究は世界と同レベルだが、コンピューティングパワー、アルゴリズム技術...