TensorFlowに関する簡単な例

TensorFlowに関する簡単な例

[[220444]]

この記事では、TensorFlowの例をいくつか見て、テンソルテンソルまた、テンソルを使用して数学を実行するのがいかに簡単かについて、機械学習に関連する他の例もいくつか紹介します。

TensorFlow とは何ですか?

TensorFlow は、複雑な数学計算に時間がかかりすぎるという問題を解決するために Google が開発したライブラリです。

実際、TensorFlow では多くのことが可能です。例えば:

  • 複雑な数式を解く
  • 機械学習技術。トレーニング用のデータ サンプル セットを入力し、別のデータ サンプル セットを指定して、トレーニング データに基づいて結果を予測します。これが人工知能だ!
  • GPU サポート。より高速な計算のために、CPU の代わりに GPU (グラフィックス プロセッシング ユニット) を使用できます。 TensorFlow には、CPU バージョンと GPU バージョンの 2 つのバージョンがあります。

例を書き始める前に、いくつかの基本的な知識を理解する必要があります。

テンソルとは何ですか?

テンソルテンソルこれは TensorFlow が使用するメインのデータ ブロックです。変数に似ており、TensorFlow はこれを使用してデータを処理します。テンソルには次元と型の属性があります。

次元とは、テンソルの行と列の数を指します。これは後で説明します。1次元テンソル、2次元テンソル、3次元テンソルを定義できます。

タイプは、テンソル要素のデータ型を指します。

1次元テンソルを定義する

テンソルは次のように定義できます。NumPy 配列 (LCTT 翻訳注: NumPy システムは、大規模な行列を格納および処理するために使用される強力な N 次元配列オブジェクト Array を含む、Python のオープン ソース デジタル拡張機能です) または Python リストを作成し、 tf_convert_to_tensor関数を使用してそれをテンソルに変換します。

次のように NumPy を使用して配列を作成できます。

  1. import numpy as np arr = np . array ([ 1 , 5.5 , 3 , 15 , 20 ])
  2. arr = np . array ([ 1 , 5.5 , 3 , 15 , 20 ])

実行結果には、この配列の次元と形状が表示されます。

  1. import numpy as np
  2. arr = np . array ([ 1 , 5.5 , 3 , 15 , 20 ])
  3. print ( arr )
  4. print ( arr . ndim )
  5. print ( arr . shape )
  6. print ( arr . dtype )

これは Python リストと非常に似ていますが、ここでは要素間にコンマはありません。

次に、 tf_convert_to_tensor関数を使用してこの配列をテンソルに変換します。

  1. import numpy as np
  2. import tensorflow as tf
  3. arr = np . array ([ 1 , 5.5 , 3 , 15 , 20 ])
  4. tensor = tf . convert_to_tensor ( arr , tf . float64 )
  5. print ( tensor )

今回は実行結果にテンソルの具体的な意味は表示されますが、テンソルの要素は表示されません。

テンソル要素を確認するには、次のようなセッションを実行します。

  1. import numpy as np
  2. import tensorflow as tf
  3. arr = np . array ([ 1 , 5.5 , 3 , 15 , 20 ])
  4. tensor = tf . convert_to_tensor ( arr , tf . float64 )
  5. sess = tf . Session ()
  6. print ( sess . run ( tensor ))
  7. print ( sess . run ( tensor [ 1 ]))

2次元テンソルを定義する

2 次元テンソルを定義する方法は 1 次元テンソルを定義する方法と同じですが、配列は次のように定義する必要があります。

  1. arr = np . array ([( 1 , 5.5 , 3 , 15 , 20 ),( 10 , 20 , 30 , 40 , 50 ), ( 60 , 70 , 80 , 90 , 100 )])

次にそれをテンソルに変換します。

  1. import numpy as np
  2. import tensorflow as tf
  3. arr = np . array ([( 1 , 5.5 , 3 , 15 , 20 ),( 10 , 20 , 30 , 40 , 50 ), ( 60 , 70 , 80 , 90 , 100 )])
  4. tensor = tf . convert_to_tensor ( arr )
  5. sess = tf . Session ()
  6. print ( sess . run ( tensor ))

テンソルを定義する方法はわかりましたが、テンソル間の数学演算はどのように実行するのでしょうか?

テンソルに対する数学演算の実行

次の 2 つの配列があるとします。

  1. arr1 = np . array ([( 1 , 2 , 3 ),( 4 , 5 , 6 )])
  2. arr2 = np . array ([( 7 , 8 , 9 ),( 10 , 11 , 12 )])

TenserFlow を使用すると、さまざまな数学演算を実行できます。ここで、これら 2 つの配列を合計する必要があります。

加算関数を使用して合計を計算します。

  1. import numpy as np
  2. import tensorflow as tf
  3. arr1 = np . array ([( 1 , 2 , 3 ),( 4 , 5 , 6 )])
  4. arr2 = np . array ([( 7 , 8 , 9 ),( 10 , 11 , 12 )])
  5. arr3 = tf . add ( arr1 , arr2 )
  6. sess = tf . Session ()
  7. tensor = sess . run ( arr3 )
  8. print ( tensor )

配列を乗算することもできます。

  1. import numpy as np
  2. import tensorflow as tf
  3. arr1 = np . array ([( 1 , 2 , 3 ),( 4 , 5 , 6 )])
  4. arr2 = np . array ([( 7 , 8 , 9 ),( 10 , 11 , 12 )])
  5. arr3 = tf . multiply ( arr1 , arr2 )
  6. sess = tf . Session ()
  7. tensor = sess . run ( arr3 )
  8. print ( tensor )

今、あなたは知っています。

3Dテンソル

1 次元テンソルと 2 次元テンソルの使い方はすでにわかっています。次に、3 次元テンソルを見てみましょう。ただし、今回は数値ではなく、RGB 画像を使用します。この画像では、各ピクセルは x、y、z の組み合わせで表されます。

これらが組み合わさって、画像の幅、高さ、色深度が形成されます。

まず、matplotlib ライブラリを使用して画像をインポートします。システムに matplotlib がインストールされていない場合は、pip を使用してインストールできます。

画像を Python ファイルと同じディレクトリに置き、matplotlib を使用して画像をインポートします。

  1. import matplotlib . image as img
  2. myfile = "likegeeks.png"
  3. myimage = img . imread ( myfile )
  4. print ( myimage . ndim )
  5. print ( myimage . shape )

実行結果から、この 3D 画像の幅は 150、高さは 150、色深度は 3 であることがわかります。

この写真もご覧いただけます:

  1. import matplotlib . image as img
  2. import matplotlib . pyplot as plot
  3. myfile = "likegeeks.png"
  4. myimage = img . imread ( myfile )
  5. plot . imshow ( myimage )
  6. plot . show ()

とてもクール!

では、TensorFlow を使用して画像を処理するにはどうすればよいでしょうか?とても簡単です。

TensorFlow を使用して画像を生成または切り取る

まず、プレースホルダーに値を割り当てます。

  1. myimage = tf . placeholder ( "int32" ,[ None , None , 3 ])

トリミング操作を使用して画像をトリミングします。

  1. cropped = tf . slice ( myimage ,[ 10 , 0 , 0 ],[ 16 ,- 1 ,- 1 ])

***、このセッションを実行します:

  1. result = sess . run ( cropped , feed\_dict ={ slice : myimage })

すると、matplotlib を使用して処理された画像が表示されます。

コード全体は次のとおりです。

  1. import tensorflow as tf
  2. import matplotlib . image as img
  3. import matplotlib . pyplot as plot
  4. myfile = "likegeeks.png"
  5. myimage = img . imread ( myfile )
  6. slice = tf . placeholder ( "int32" ,[ None , None , 3 ])
  7. cropped = tf . slice ( myimage ,[ 10 , 0 , 0 ],[ 16 ,- 1 ,- 1 ])
  8. sess = tf . Session ()
  9. result = sess . run ( cropped , feed_dict ={ slice : myimage })
  10. plot . imshow ( result )
  11. plot . show ()

すごいですよね?

TensorFlow を使用した画像の変換

この例では、TensorFlow を使用して簡単な変換を行います。

まず、処理する画像を指定し、TensorFlow 変数の値を初期化します。

  1. myfile = "likegeeks.png"
  2. myimage = img . imread ( myfile )
  3. image = tf . Variable ( myimage , name = 'image' )
  4. vars = tf . global_variables_initializer ()

次に、入力グリッドの 0 軸と 1 軸を反転するために使用される転置関数を呼び出します。

  1. sess = tf . Session ()
  2. flipped = tf . transpose ( image , perm =[ 1 , 0 , 2 ])
  3. sess . run ( vars )
  4. result = sess . run ( flipped )

すると、matplotlib を使用して処理された画像が表示されます。

  1. import tensorflow as tf
  2. import matplotlib . image as img
  3. import matplotlib . pyplot as plot
  4. myfile = "likegeeks.png"
  5. myimage = img . imread ( myfile )
  6. image = tf . Variable ( myimage , name = 'image' )
  7. vars = tf . global_variables_initializer ()
  8. sess = tf . Session ()
  9. flipped = tf . transpose ( image , perm =[ 1 , 0 , 2 ])
  10. sess . run ( vars )
  11. result = sess . run ( flipped )
  12. plot . imshow ( result )
  13. plot . show ()

上記の例では、TensorFlow の使用がいかに簡単であるかを示しました。

<<:  6000 以上の Web ページを閲覧した後、個人使用に最適な AI 製品のリストを選択しました。

>>:  サイボーグの時代が到来すると予想される:人間の体が機械に置き換えられる時代

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

自然言語処理: コンピュータに人間の言語を理解して処理させる

自然言語処理 (NLP) は、人工知能の分野における重要かつ刺激的なテクノロジーです。その目標は、コ...

データ サイエンスの初心者の場合は、まずはここにいくつかのアルゴリズムを紹介します。

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

AI、機械学習、ディープラーニングはOEMにとって重要な市場です

人工知能 (AI) は、世界中の業界関係者のビジネスのやり方を急速に変えています。 AI がビジネス...

2020年中国AI+医療産業調査レポート

コア要約:はじめに: この AI + 医療研究の範囲は、CDSS、スマート医療記録、AI + 検査、...

人工知能が私たちの日常生活を変える5つの方法

人工知能はもはや未来的な概念ではなく、私たちの日常生活に欠かせないものとなっています。私たちが目覚め...

Vision Pro を着用せずに買い物に行く人がいるでしょうか? ? ?

頭に貼るビジョンプロは人から人へと広がっています。これがロンドンの街の最新風景です。 「刺激が欲しけ...

1年間で18本の論文:Google Quantum AI チームの2021年年次概要

量子コンピューティングは、常に次の産業革命の原動力と考えられてきました。さまざまな国やテクノロジー企...

...

ディープラーニングはオイラー方程式を「破壊」する準備ができている

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

...

開発者の能力を最大限に引き出すAISpeech DUIオープンプラットフォームがリリースされました

[51CTO.comからのオリジナル記事] Tmall Genie X1、Xiaomi AIスピーカ...

WuDao 2.Oがリリースされ、中国語を中核とする大規模な事前学習済みモデルプラットフォームエコシステムを構築

【51CTO.comオリジナル記事】​​​ GPT-3は昨年5月にリリースされました。 OpenAI...

...

AI エキスパート: ビッグデータ ナレッジ グラフ - 実践経験のまとめ

データ サイエンティストとして、業界のトップ ナレッジ グラフをまとめ、技術専門家と共有して、ビッグ...

...