PyTorch と TensorFlow の最新バージョンを比較すると、2021 年にはどちらを選択しますか?

PyTorch と TensorFlow の最新バージョンを比較すると、2021 年にはどちらを選択しますか?

ディープラーニングが再び認知されて以来、多くの機械学習フレームワークが登場し、研究者や業界の専門家の間で新たな人気を博そうと競い合っています。 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 を選択することをお勧めします。

<<:  AIチャットボット、欲しいですか?

>>:  3人が「テーブルを囲む」脳科学VS人工知能、相互ゲームをどう突破するのか?

ブログ    
ブログ    
ブログ    

推薦する

...

クラウド上の優れた機械学習サービス

クラウドの優れた機械学習サービスを使用すると、ユーザーはデータをより適切に分析し、新たな洞察を得るこ...

ロボットが人間のように学習できるようにする Google RT-2 AI モデルとは何ですか?

ビッグモデルが急増し、仮想世界から現実世界に進出しています。 Google DeepMind は最近...

あなたは「オアシス」からどれくらい離れていますか? テクノロジーオタクが世界を救う方法をご覧ください

【元記事は51CTO.comより】最近、VR熱血ゲームを題材にした映画『レディ・プレイヤー1』が主要...

...

専門家の視点:量子コンピューティングの開発動向

量子コンピューティングとは、量子理論の原理に基づいたコンピューター技術の開発に焦点を当てた研究分野を...

Google の自動運転車は「先​​天的な欠陥」があるが、その商品化は「中止」の運命を免れるだろうか?

[[248486]]グーグルの自動運転車開発会社ウェイモはすでに試験的な移動サービスの一部を有料化...

機械学習は増加傾向にありますが、そのアルゴリズムの結果は公正なのでしょうか?

アルゴリズムは驚くべき方法で私たちの生活をコントロールしています。地元のデリのカウンターで番号を受け...

...

Microsoft が OpenAI のライバルと提携!ミストラルの最新のトップレベルモデルはオープンソースではなくなった

ノア著制作:51CTO テクノロジースタック(WeChat ID:blog)最近、マイクロソフトは、...

張北院士:生成型人工知能の3つの大きな機能と1つの大きな欠点

網易科技は1月16日、知普AI技術公開デーで中国科学院院士で清華大学教授の張北氏が「大規模言語モデル...

ハードコア情報 | 顔認識の原理とは?

[[408210]]今では「顔認証で出勤、顔認証で支払い、顔認証でドアを開ける」といったハイテクノ...

三国志を例に挙げて分散アルゴリズムについて語るのって、気楽なことでしょうか?

[[357046]]序文「三国殺し」は、中国の三国時代を背景に、身分を手がかりにカードを形にした人...