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 製品のリストを選択しました。

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

ブログ    
ブログ    
ブログ    

推薦する

食品サービス機器業界の主な動向

[[442813]]画像ソース: https://pixabay.com/images/id-673...

...

人工知能と教育が出会うと、どのような火花が生まれるのでしょうか?

[[249507]]過去 1 か月間の教育業界のホットなキーワードを本当に選ぶとしたら、それは間違...

ロボット: 何を見ているんですか?人間とロボットのアイコンタクトが意思決定を遅らせる、サイエンス誌に掲載

あなたがロボットを見つめると、ロボットもあなたを見つめます。視線は人と人との間のシグナルであり、コミ...

GPT-4とMidjourneyに加えて、Tan Pingの起業家チームは3D基本モデルを構築したいと考えています。

少し前にOpenAIが驚くべき生成効果を持つグラフィックモデルDALL・E 3をリリースしました。た...

「AI+医療」の強力な発展の勢いが医療革命を引き起こしている

「AI+ヘルスケア」は現在最も注目されている人工知能の応用シナリオの1つであり、人工知能技術は医療・...

...

多くの企業が自社のサービスはAIだと主張しているが、実際はAIのふりをしている人間である。

[[235932]] 「疑似AI」の台頭:テクノロジー企業がボットの仕事を人間にひそかに任せる方法...

CVPR 自動運転チャレンジで優勝したのはどのようなソリューションでしょうか?

道路は複雑で、車両の種類も多様で、歩行者も密集しています。これが都市部の道路交通の現状であり、自動運...

産業用ロボットの急速な発展は社会にどのような影響を与えるのでしょうか?

インテリジェントインダストリー4.0の急速な発展に伴い、ますます多くの業界でロボットが手作業に代わる...

AIによる決定をどのように説明するのでしょうか?この記事では、アルゴリズムの適用シナリオと解釈可能性を整理します。

英国の情報コミッショナー事務局(ICO)とアラン・チューリング研究所は共同で「AIによる説明決定」ガ...

K2 K2、上海交通大学チームが70億パラメータの地球科学言語モデルを発表

地球科学は、岩石、鉱物、土地の特性を研究するだけでなく、地球の気候、海洋、大気、生態系などの現象と原...

...

もう感情を隠せない?歩く姿勢からAIがわかる!

歩き方は人それぞれ違います。歩き方は、その時々の気分など、あなたに関する秘密を明らかにします。たとえ...

...