深層学習フレームワーク TensorFlow の概念と導入

巴扎黑
リリース: 2017-06-23 15:11:22
オリジナル
4112 人が閲覧しました

2015 年 11 月 9 日、Google は人工知能システム TensorFlow をリリースし、オープンソースであると発表しました。

1. TensorFlow の概念

TensorFlow は、数値計算にデータ フロー グラフを使用するオープンソース ソフトウェア ライブラリです。言い換えれば、TensorFlow はグラフを使用してコンピューティング タスクを表現します。グラフ内のノードは数学的演算を表し、エッジは演算間の通信に使用される多次元配列 (つまり、テンソル) を表します。 TensorFlow の柔軟なアーキテクチャにより、コンピューティング プロセスを 1 つ以上の CPU または GPU にデプロイできます。

TensorFlow はもともと Google Brain チームの研究者とエンジニアによって開発され、主に Google のマシン インテリジェンス研究組織によって機械学習とディープ ニューラル ネットワークの研究に使用されていますが、このシステムは他の多くの分野でも一般的です。

深層学習フレームワーク TensorFlow の概念と導入

モデルの抽象表現はフレームワークによって自動的に処理されるため、TensorFlow と Theano は、勾配最適化アルゴリズムに基づいた新しいモデルの開発に特に適しています。

Theano の主な欠点は、上記のシンボリック モデルのコンパイル時間が長いことですが、TensorFlow はこれを効果的に改善します。つまり、コンパイル時間が短縮されます。

TensorFlow のもう 1 つの利点は、モデルのトレーニング プロセスを視覚化するサポート ツール TensorBoard です。このようにして、ユーザーはモデルの構造を対話的に調べて、パラメーターとモデルのパフォーマンスの変化を観察できます。

TensorFlow のオープンソース バージョンは 1 台のマシン上でのみ実行できますが、複数のプロセッサ (CPU または GPU) での並列コンピューティングをサポートします。

1.1 データフロー図とは何ですか?

データ フロー図は、有向グラフを使用して、グラフ内の点とエッジを使用して数学的計算を記述します。

ノードは通常、数学的計算を実行しますが、結果を表すエンドポイントとして機能したり、永続変数を読み書きしたりすることもできます。

エッジはノード間の入出力関係を記述するために使用されます。これらのエッジは、可変サイズの多次元配列またはテンソルを保持します。

これらのノードはコンピューティング デバイスに割り当てられ、非同期で実行されます。すべてのテンソルが同時に到着すると、並列計算が実行されます。

グラフ内のテンソルの流れのため、これを TensorFlow と呼びます。

Tensors Flowing

1.2 TensorFlow の特徴

  1. 深い柔軟性、柔軟性。 TensorFlow は、計算プロセスをデータ フロー グラフとして表現できる限り、厳密なニューラル ネットワーク ライブラリではありません。新しい計算の定義は Python 関数を記述するのと同じくらい簡単で、コストも高くありません。必要な基礎となるデータ操作が見つからない場合は、C++ を介して追加できます。

  2. 真の携帯性、携帯性。 TensorFlow は CPU または GPU 上で実行され、ラップトップ、サーバー、またはモバイル コンピューティング プラットフォーム上で実行できます。モデルは特別なハードウェアやコードを変更することなくモバイル デバイス上でトレーニングでき、Docker と TensorFlow をカプセル化することでクラウド上でコンピューティングを実行できます。

  3. 学術と産業の両方で研究と生産を接続します。 Google では、科学者が TensorFlow を使用して新しいアルゴリズムをテストし、製品チームが TensorFlow を使用してユーザーにサービスを提供するモデルをトレーニングしています。

  4. 自動識別、自動識別。 TensorFlow の自動識別機能は、勾配ベースの機械学習アルゴリズムの実装に役立ちます。 TensorFlow を使用する場合は、予測モデルの計算フレームワーク構造と目的関数を定義するだけで、TensorFlow が導関数、つまり勾配を計算します。

  5. 言語オプション、言語の選択。 TensorFlow は、Python インターフェイスと単純な C++ インターフェイスを使用して、計算グラフを構築および実行できます。ご興味があれば、Lua、JavaScript、R など、お好みの言語でインターフェイスを提供することもできます。

  6. パフォーマンスを最大化し、パフォーマンスを最大化します。 TensorFlow を使用すると、32 個の CPU コアと 4 枚の GPU カード、スレッド、キュー、非同期計算など、利用可能なハードウェアを最大限に活用できます。 TensorFlow グラフ内のコンピューティング要素をさまざまなデバイスに自由に割り当て、TensorFlow にそれらを処理させることができます。

1.3 TensorFlow を使用できるのは誰ですか?

学生、研究者、愛好家、ハッカー、エンジニア、開発者、発明家、革新者など。

TensorFlow は現時点では完成していないため、拡張する必要があります。 Google はソース コードの初期バージョンを提供しただけであり、TensorFlow をより良くするために活発なオープンソース コミュニティを構築したいと考えています。

現在 TensorFlow を使用している企業には、Google、Uber、Twitter、DeepMind、JD.com などが含まれます。

1.4 なぜ Google は TensorFlow をオープンソースにするのですか?

「TensorFlow」は、長年にわたり Google の社内機械学習システムです。現在、Google はこのシステムをオープンソース システムにし、このシステムのパラメータを多くのプログラミング能力を持つ業界のエンジニア、学者、技術者に公開しています。これは何を意味しますか?

答えは簡単です。Google は、機械学習が将来のイノベーションの重要な要素であると信じています。この分野の研究は世界的に行われており、急速に発展していますが、標準ツールが不足しています。 Google のエンジニアは TensorFlow を使用してユーザー指向の製品やサービスを開発しており、Google の研究チームは TensorFlow が機械学習に最適なツールの 1 つになることを期待しています。

不適切な比喩を使用すると、Google の現在の TensorFlow システムの扱いは、モバイル オペレーティング システム Android の扱いと似ています。より多くのデータサイエンティストがGoogleのシステムを利用して機械学習の研究を始めれば、成長する機械学習業界においてGoogleがさらに優位性を獲得できるようになるだろう。

1.5 TensorFlow と計算生物学

現在の深層学習手法を使用するには前提条件があります。それは、多くのサンプルを含むデータセットを用意することです。

特定の疾患に関連する遺伝子やメチル化プローブを特定するのと同様、サンプルセットは非常に小さいため、ディープラーニングで分析することはできません。 [泣く…私はただ深層学習を使って病気の遺伝子を特定したいだけなのです…]

深層学習モデルを使用したい場合、最初のステップはデータをどのように表現するかという問題を解決することです。例: スプライス結合、RNA-タンパク質結合部位、またはメチル化。言い換えれば、サンプルの数が変数の数をはるかに超えています。

したがって、この重要なステップが解決される限り、TensorFlow はディープラーニングへの扉を開きます。

2. Tensorflow のインストール (pip に基づく)

Pip は、Python ソフトウェア パッケージのインストールおよび管理ツールです。さらに、Tensorflow は Linux 環境にのみインストールできます。VMware での Linux システムのインストールの詳細については、私の他のブログを参照してください。

2.1 pip をインストールします (スーパー管理者権限でインストールする必要があります)

  1. sudo apt-get install python-pip python-dev

深層学習フレームワーク TensorFlow の概念と導入

深層学習フレームワーク TensorFlow の概念と導入

注: 上記のインターフェイスは pip を示しているように見えます無事にインストールされました!

2.2 Tensorflow をインストールします

  1. sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none- linux_x86_64.whl

2.3 テスト

  1. > t;> tensorflow を tf としてインポート

  2. > >> こんにちは = tf.
  3. 定数

    ('こんにちは、TensorFlow!')

  4. >>> sess = tf.
  5. セッション

    ()

  6. >>>
  7. 印刷セッション

    こんにちは、

  8. Linux 上の Python :Ctrl+D 2.4 IDE Pycharm のインストール 公式 Web サイトから Linux 用コミュニティ バージョンをダウンロードし、公式 Web サイトのチュートリアルの手順に従ってインストールします。

  9. 注: Linux のブラウザで直接ダウンロードできます。

まず、ファイルをインストールする場所にコピーします。

cd

/home/andy

深層学習フレームワーク TensorFlow の概念と導入

次に、ファイルを解凍します:

  1. tar xfz pycharm-community-2016.3.tar.

    gz

    pycharm.sh ファイルがあるディレクトリを開きます:

    1. cd pycharm-community-2016.3/bin

    pycharm.sh ファイルを実行して pycharm をインストールします:

    1. ./pycharm. sh

    インストール後、pycharm が自動的に開き、一連の設定が実行されます:

    深層学習フレームワーク TensorFlow の概念と導入

    深層学習フレームワーク TensorFlow の概念と導入

    深層学習フレームワーク TensorFlow の概念と導入

    以下のインターフェースが表示されたら、インストールが成功したことを説明します。

    深層学習フレームワーク TensorFlow の概念と導入

    「新しいプロジェクトを作成」を選択して新しいプロジェクトを作成します。デフォルトのコンパイラは Python 2.7 です。

    深層学習フレームワーク TensorFlow の概念と導入

    次に、新しく作成したプロジェクトを右クリックし、「新規->Python ファイル」を選択して、新しい Python ファイル Py01 を作成します。

    深層学習フレームワーク TensorFlow の概念と導入

    テスト用にファイル Py01 にコードを書きます。

    深層学習フレームワーク TensorFlow の概念と導入

    テスト結果が正しく、Pycharm に tensorflow をインポートできることがわかります。

    深層学習フレームワーク TensorFlow の概念と導入

    2.5 Pycharmをランチャーにロックする

    Ubuntuでは、毎回pycharm.shがあるフォルダを探して、./pycharm.shを実行してpycharmを開く必要があり、非常に面倒です。

    それでは、ショートカットを作成した方が良いでしょう。 Ubuntuのショートカットは「Computer/usr/share/applications」に配置されています。

    まず、次のディレクトリに Pycharm.desktop を作成します:

    1. sudo gedit /usr/share/applications/Pycharm.desktop

    以下の内容、 Exec と Icon は自分のコンピュータで正しいパスを見つける必要があることに注意してください。また、実際の状況に応じて GenericName と Comment に Pycharm のバージョン番号を設定する必要があります。 ]

    1. Type=Application

    2. Name=Pycharm

    3. GenericName=Py Charm2017

    4. Comment=Pycharm2017: Python IDE

    5. Exec="/home/wangfang/Pycham/pycharm-community-2017.1.3/bin/pycharm.sh" %f

    6. アイコン= /home/wangfang/Pycham/ pycharm-community-2017.1.3/bin/pycharm.png

    7. Terminal=pycharm

    8. カテゴリ=
    9. Pycharm;

    10. 保存後、パス /usr/share/applications/ から対応するデスクトップ Pycharm.desktop ファイルを見つけ、ダブルクリックして開き、ランチャーにロックします。

      深層学習フレームワーク TensorFlow の概念と導入1

      参考:

      1. TensorFlow公式サイト

      2. Geek Academy - TensorFlow公式ドキュメント中国語版

      3. Geek Academy - ダウンロードとインストール

      4. Geek Academy— —MNIST マシンの紹介学習 (ソフトマックス回帰モデルの構築)

      5. Geek Academy - In- Depth MNIST (深い畳み込みニューラル ネットワークの構築)

      6. Ladislav Rampasek と Anna Goldenberg、TensorFlow: Biology's Gateway to Deep Learning?

      7. werm520 のコラム: Ubuntu への PyCharm のインストール

      8. Ubuntu への Anaconda のインストール

      9. Linux (Ubuntu14.04) への Anaconda と Spyder のインストール

      10. Ubuntu への TensorFlow のインストール方法


以上が深層学習フレームワーク TensorFlow の概念と導入の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート