PyTorch 1.8 と Tensorflow 2.5、どちらを使用すればよいですか?

PyTorch 1.8 と Tensorflow 2.5、どちらを使用すればよいですか?

[[408717]]

ディープラーニングが再び認知されて以来、多くの機械学習フレームワークが登場し、研究者や業界の専門家の間で新たな人気を博そうと競い合っています。 Caffe や Theano などの初期の学術的成果から、産業界から多大な支援を受けている PyTorch や TensorFlow まで、多くの研究者は膨大な数の学習フレームワークに直面しており、どのように選択すればよいかわかりません。

機械学習フレームワーク。

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 つのライブラリ間のコーディング スタイルには若干の違いがあります。

[[408718]]

PyTorch は OOP (オブジェクト指向プログラミング) スタイルで知られています。たとえば、カスタム モデルまたはカスタム データセットを作成する場合、デフォルトの PyTorch ライブラリから継承する新しいクラスを作成してから、コードを調整する可能性が高くなります。 OOP は何らかの方法でコードに構造を提供しますが、コード行数の点でコードが非常に長くなります。

一方、Tensorflow を使用する場合は、Keras を使用することになります。たとえば、Kaggle のコンペティション (教師あり学習による画像分類、オブジェクト検出、画像セグメンテーション、NLP などのタスク) に参加すると、Keras のコード実装が PyTorch よりも短いことがわかります。初心者/中級者にとっては、コード行を読んだり分解したりするのに多くの時間を費やす必要がないため、これは非常に良い選択肢です。

場合によっては、機械学習の特定の分野で特定のモデルを見つける必要があります。たとえば、物体検出のコンペティションに参加していて、DETR (Facebook のデータ効率の良いトランスフォーマー) を実装したいと思ったとき、ほとんどのリソースが PyTorch で書かれていることがわかったので、この場合は PyTorch を使用する方が簡単でした。さらに、PyTorch の実装は、多くの低レベルの詳細をカバーしているため長くなります。これは利点であると同時に欠点でもあります。初心者の場合は、まず低レベルの詳細を学習し、その後 Keras などの高レベルの API を使用すると非常に役立ちます。ただし、多くの詳細とかなり長いコード スニペットに迷ってしまう可能性があるため、これは欠点でもあります。したがって、基本的に、厳しい期限内で作業している場合は、PyTorch よりも Keras を選択することをお勧めします。

<<:  AIコンピューティングパワーギャップを越えて、人工知能コンピューティングセンターの産業的価値が強調される

>>:  ディープラーニングベースの対話状態追跡のレビュー

ブログ    
ブログ    

推薦する

現代の分散ストレージシステムをサポートするアルゴリズム

アプリケーションによって処理されるデータの量が増え続けるにつれて、ストレージの拡張はますます困難にな...

...

初心者に適した機械学習アルゴリズムの選び方

この記事の主な対象読者は、機械学習の愛好家やデータサイエンスの初心者、そして機械学習アルゴリズムを学...

人工知能の登場で、自動化は恐怖に震えるべきでしょうか?

歴史は、人々に気づかれずに何度も同じ冗談を繰り返す、昔のいたずらっ子のようなものです。歴史は単なるジ...

二重の流行が迫る中、機械学習アルゴリズムは新型コロナウイルスの迅速な検出にどのように役立つのでしょうか?

[51CTO.comよりオリジナル記事]秋から冬にかけての季節が近づき、インフルエンザやCOVID...

Python による顔認識 (ソースコード付き)

Python は画像やビデオから顔を検出して認識できます。顔の検出と認識は、コンピューター ビジョ...

PythonでQQロボットを開発する方法

序文この記事の目的はPythonでMiraiロボットを開発することですが、最初のチュートリアル、特に...

医療用ロボット:世界第2位のロボットの現状と今後の応用展望

医療用ロボットという用語は、監督なしで事前にプログラムされたタスクを自律的に実行する機械のイメージを...

画像の混合を利用してより細かい特徴表現を学習するCMU Xing Boのチームの新しい論文がAAAIに選出されました

これは、カーネギーメロン大学とカリフォルニア大学バークレー校の Eric Xing 氏と Trevo...

5分で強力で使いやすいディープラーニング環境を構築

ディープラーニング プロジェクトに適した環境を構築するのは簡単な作業ではありません。処理すべきことは...

...

人工知能とは何かについて10分ほどお話ししましょう。

1999年、ハリウッドSF映画史上最も重要なSF映画『マトリックス』が公開されました。この映画は、...

フロントエンドエンジニアは、これらの18のトリッ​​クをマスターすることで、ブラウザでディープラーニングを習得できます

TensorFlow.js がリリースされた後、以前にトレーニングしたターゲット/顔検出モデルと顔...

米国のパイロットがエイリアンの存在を確認!米国は10年間UFOのリバースエンジニアリングを行っており、マスク氏はそれを否定していない

ちょうど昨日、米国議会は、米国政府が不時着したエイリアンの宇宙船とエイリアンの遺体を発見し、それを隠...