読み方:てんそるふろー米国グーグル社が開発した人工知能用のライブラリーのこと。Weblio国語辞典では「TensorFlow」の意味や使い方、用例、類似表現などを解説しています。">

「TensorFlow」の意味や使い方 わかりやすく解説 Weblio辞書 (original) (raw)

TensorFlow

開発元 Google, Yuan Tang, Arm[1]
初版 2015年11月9日 (9年前) (2015-11-09)
最新版 2.18.0[2] - 2024年10月24日 (3か月前) [±]
リポジトリ github.com/tensorflow/tensorflow
プログラミング言語 PythonJavaScriptC++JavaC言語[3][4]
対応OS LinuxmacOSWindows
種別 機械学習ライブラリ
ライセンス Apache License 2.0
公式サイト tensorflow.org
テンプレートを表示

TensorFlow.js

最新版 4.22.0 / 2024年10月22日 (4か月前) (2024-10-22)[5]
リポジトリ tfjs - GitHub
プログラミング言語 JavaScript
公式サイト www.tensorflow.org/js
テンプレートを表示

TensorFlow for Java

初版 2020年10月8日 (4年前) (2020-10-08)
最新版 1.0.0 / 2024年12月7日 (2か月前) (2024-12-07)[6]
リポジトリ java - GitHub
プログラミング言語 Java
ライセンス Apache License 2.0
公式サイト www.tensorflow.org/jvm
テンプレートを表示

TensorFlow(テンソルフロー、テンサーフロー)とは、Googleが開発しオープンソースで公開している、機械学習に用いるためのソフトウェアライブラリである。

概要

機械学習数値解析ニューラルネットワークディープラーニング)に対応しており、GoogleDeepMindの各種サービスなどでも広く活用されている。

2015年11月9日にベータ版Apache 2.0 open source licenseの下で公開され[7]、2017年2月15日には正式版となるTensorFlow 1.0がリリースされた[8][9]

TensorFlowは元々、Google内部での使用のためにGoogle Brain(英語版)チームによって開発された[10][7]。開発された目的は、人間が用いる学習や論理的思考と似たように、パターンや相関を検出し解釈するニューラルネットワークを構築、訓練することができるシステムのための要求を満たすためである[11]。現在は、Googleのサービスの研究と生産に使用されており、以前に使用されていたクローズドソースのDistBeliefの役割をほぼ置き換えている‍[11]:min 0:15/2:17 [12]:p.2 [11]:0:26/2:17。AIにも詳しいルーカス・ビーワルド(英語版)は、GoogleはTensorFlowのコードオープンソースにした事で、AIの真の価値はAIの「エンジン」ではなく、AIを賢くするのに必要な「データ」である事を示したと語った。そのためGoogleは「データ」の部分は公開しないだろうと述べた[13]

対応プログラミング言語PythonJavaScriptC++JavaC言語[3]。C言語は他の言語のバインディングを開発することを想定してAPIが作られている[4]。JavaScript版としてTensorFlow.jsがあり、ウェブブラウザの中で実行可能である。Java版は2020年に作り直しになり、C++版のAPIを呼び出す形となり、基本的に全ての機能が利用可能になった。

対応OS64ビットLinux(ただしバイナリ配布はUbuntu用)、macOSWindows[14]

対応ハードウェアはTensorFlow側で配布している物はCPU(x86とARM)[15]NVIDIA GPU[15]だが、Google TPU[16]、AMD GPU[17]、Intel GPU[18]、AWS Trainium, Inferentia[19]版などをデバイスベンダー側が配布している。

また、TensorFlowベースの強化学習フレームワークDopamineもオープンソースとなっている。

Google Colaboratoryでも使える。

インテル向け

インテルのCPUやGPU用の Intel oneAPI Deep Neural Network Library ではディープラーニング用の最適化が実装されており、これを TensorFlow から利用できるようにしたものをインテルが配布している[20][21]Anaconda などのディストリビューションでもこちらが採用されていて、pip で配布している物と比べて ResNet-50 が8.6倍高速に学習する[22]

Eager Execution for TensorFlow

当初のTensorFlowはニューラルネットワークの計算を表現した計算グラフを学習の前にあらかじめ構築する「Define-and-Run」という方式を取っていたが、2018年に公開された新しい機能である「Eager Execution for TensorFlow」はPreferred Networksのディープラーニングフレームワーク「Chainer」などで採用されている、計算の実行時に計算グラフが定義される「Define-by-Run」という方式を取っている[23][24]

LiteRT

LiteRT

開発元 Google
最新版 1.0.1 / 2024年9月4日 (5か月前) (2024-09-04)[25]
リポジトリ LiteRT - GitHub
プログラミング言語 C++
対応OS AndroidiOS組み込みLinuxマイクロコントローラ
前身 TensorFlow Lite
ライセンス Apache License 2.0
公式サイト ai.google.dev/edge/litert
テンプレートを表示

当初、モバイル機器向けは TensorFlow for Mobile が存在した。2017年11月14日に TensorFlow Lite (TFLite) を Google が発表した[26][27]。更に、2024年9月4日、TensorFlow Lite は LiteRT に改名され、TensorFlow ではなく Google AI Edge の管理下となった[28]。LiteRT は、AndroidiOS組み込みLinuxRaspberry Piなど)、マイクロコントローラに対応している[29]

GPUはLiteRT本家の実装はOpenGL ESOpenCLMetalを使った汎用的な実装となっている[30]。Arm NN[31]がLiteRTとONNXに対応していて、ArmのCPUおよびGPU(Maliなど)向けの最適化をかけていて、行列積畳み込みはArm Compute Library[32]を呼び出す形で実装されている。

NPUは、Qualcomm Hexagon NPU[33]MediaTek VPU, MDLA[34]、Google Edge TPU[35]などが対応している。

Android上でのニューラルネットワークの実行は、2017年にAndroid 8.1にてNeural Networks API (NNAPI)を導入したが、2024年にAndroid 15にて非推奨になった[36]。LiteRTから実行する形に切り替わり、LiteRT側でCPU・GPU・NPU対応をしている[37]。ただし、2025年2月22日現在、NPUで対応しているのはQualcomm Snapdragonのみ[38]

応用

以下のような用途に利用可能[39]

「CeBIT 2017」における展示

2017年3月20日から24日にかけてドイツ・ハノーファーで行われた国際情報通信技術見本市「CeBIT 2017」にて、Googleの日本法人がTensorFlowの採用事例として「から揚げ配膳ロボット」、「きゅうり仕分けロボット」、「ドローンで撮影した写真の解析」の3点を展示した[43]

から揚げ配膳ロボット

から揚げをロボットに画像認識させるためにTensorFlowが使われている。

きゅうり仕分けロボット

キュウリの選別(選果)はパート労働者にすぐ任せられるような仕事ではなく、会得するには数ヶ月かかると言われている。学習用画像としてキュウリの画像7,000枚を使ったがそれでもまだ数が少なくて過学習が発生し、新たなキュウリの画像では正解率が70%程度に落ちる事が課題とされている[44][45]

ドローンで撮影した写真の解析

空撮画像から、TensorFlowを利用して車両台数をカウントするアルゴリズムを構築したとして展示された。

脚注

  1. ^tensorflow/AUTHORS at master · tensorflow/tensorflow”. December 23, 2024閲覧。
  2. ^ "Release 2.18.0"; 閲覧日: 2024年10月27日; 出版日: 2024年10月24日.
  3. ^ a bAPI Documentation”. January 28, 2025閲覧。
  4. ^ a bInstall TensorFlow for C”. January 28, 2025閲覧。
  5. ^Releases · tensorflow/tfjs”. January 28, 2025閲覧。
  6. ^Releases · tensorflow/java”. January 28, 2025閲覧。
  7. ^ a bGoogle Just Open Sourced TensorFlow, Its Artificial Intelligence Engine”. Wired (November 9, 2015). 10 November 2015閲覧。
  8. ^Google、機械学習ライブラリ「TensorFlow 1.0」正式版を初リリース”. Internet watch (2017年2月16日). 2017年2月16日閲覧。
  9. ^Announcing TensorFlow 1.0”. Google Research Blog (2017年2月15日). 2017年2月16日閲覧。
  10. ^Credits”. TensorFlow.org. 10 November 2015閲覧。
  11. ^ a b c "TensorFlow: Open source machine learning" "It is machine learning software being used for various kinds of perceptual and language understanding tasks" — Jeffrey Dean, minute 0:47 / 2:17 from Youtube clip
  12. ^TensorFlow: Large-scale machine learning on heterogeneous systems”. TensorFlow.org. Google Research (November 9, 2015). 10 November 2015閲覧。
  13. ^グーグルは、なぜAIエンジンをオープンソース化したのか?”. WIRED.jp (2015年12月5日). 2017年11月27日閲覧。
  14. ^ Installing TensorFlow | TensorFlow
  15. ^ a b Installing TensorFlow on Ubuntu | TensorFlow
  16. ^ An in-depth look at Google’s first Tensor Processing Unit (TPU) | Google Cloud Big Data and Machine Learning Blog | Google Cloud Platform
  17. ^TensorFlow on ROCm — ROCm installation (Linux)”. rocm.docs.amd.com. 18 January 2025閲覧。
  18. ^TensorFlow* Optimizations from Intel”. Intel. 18 January 2025閲覧。
  19. ^TensorFlow Neuron — AWS Neuron Documentation”. awsdocs-neuron.readthedocs-hosted.com. 18 January 2025閲覧。
  20. ^ TensorFlow* Optimizations on Modern Intel® Architecture | Intel® Software
  21. ^ Intel Optimized Tensorflow Wheel Now Available | Intel® Software
  22. ^ TensorFlow in Anaconda - Anaconda
  23. ^ 中田敦 (2018年5月23日). “日本企業が生み出した深層学習Chainer、フェイスブックやグーグルが認める”. Nikkei Business Publications. 2018年10月28日閲覧。
  24. ^Google、オープンソース機械学習ライブラリの最新版「TensorFlow 1.5」を発表”. アイティメディア (2018年1月30日). 2018年10月28日閲覧。
  25. ^Releases · google-ai-edge/LiteRT”. January 18, 2025閲覧。
  26. ^グーグル、「TensorFlow Lite」開発者プレビュー発表--モバイルや組み込み端末向け”. ZDNet Japan (2017年11月16日). 2017年11月26日閲覧。
  27. ^「機械学習オン・ザ・ゴー」の時代 Googleの「TensorFlow Lite」公開”. クラウド Watch (2017年11月20日). 2017年11月26日閲覧。
  28. ^TensorFlow Lite is now LiteRT - Google Developers Blog”. January 18, 2025閲覧。
  29. ^LiteRT overview”. January 18, 2025閲覧。
  30. ^LiteRT/tflite/delegates/gpu/README.md at main · google-ai-edge/LiteRT”. January 19, 2025閲覧。
  31. ^ARM-software/armnn: Arm NN ML Software. The code here is a read-only mirror of https://review.mlplatform.org/admin/repos/ml/armnn”. January 19, 2025閲覧。
  32. ^ARM-software/ComputeLibrary: The Compute Library is a set of computer vision and machine learning functions optimised for both Arm CPUs and GPUs using SIMD technologies.”. January 19, 2025閲覧。
  33. ^NPU の LiteRT デリゲート”. January 18, 2025閲覧。
  34. ^NeuroPilot 介绍 | MediaTek Dimensity Developer Center”. January 18, 2025閲覧。
  35. ^TensorFlow models on the Edge TPU”. January 18, 2025閲覧。
  36. ^Neural Networks API”. January 18, 2025閲覧。
  37. ^Android 向けアクセラレーション サービス(ベータ版)”. January 18, 2025閲覧。
  38. ^LiteRT delegate for NPUs”. February 22, 2025閲覧。
  39. ^米Google発のAIオープンソース「TensorFlow」を使ったデータ分析支援を8月に提供開始”. @Press. 2016年8月12日閲覧。
  40. ^Comma.ai、高速道路自動走行のデータをオープンソースで公開―低価格の自動運転車に道”. TechCrunch Japan. 2016年8月15日閲覧。
  41. ^マリオカート64の全自動走行をGoogleの機械学習ライブラリ「TensorFlow」でやってみたムービー”. GIGAZINE (2017年1月11日). 2017年11月26日閲覧。
  42. ^TensorFlow×マリオカートでキノコカップ優勝も可能なリカレントニューラルネットワーク「MariFlow」を開発”. GIGAZINE (2017年11月6日). 2017年11月26日閲覧。
  43. ^「TensorFlow」でから揚げ配膳ときゅうりの仕分けを自動化、Googleがアピール”. MONOist (2017年3月28日). 2017年11月26日閲覧。
  44. ^TensorFlowでキュウリの選別・仕分けを学習する”. Dylan Raithel、笹井 崇司(翻訳) (2016年9月14日). 2017年11月27日閲覧。
  45. ^キュウリ農家とディープラーニングをつなぐ TensorFlow”. 佐藤一憲 (2016年8月5日). 2017年11月27日閲覧。

関連項目

外部リンク

ディープラーニングソフトウェア(英語版
ディープラーニングソフトウェアの比較(英語版
モデル実装フレームワーク Apple Create ML diffusers ML Kit torchvision torchaudio transformers llama.cpp(英語版) (GGML) MATLAB Deep Learning Toolbox MediaPipe
オープンソースミドルウェア(現行) AITemplate Apache SINGA(英語版Apache Spark MLlib Apple MLX Eclipse Deeplearning4j Dlib Flax Keras OpenNN(英語版OpenCV DNN Paddle PyTorch SynapseML TensorFlow Neural Network Libraries
プロプライエタリミドルウェア Maple Neural Designer(英語版Mathematica Apple Core ML Windows ML(ドイツ語版
バックエンド AMDROCm(英語版) MIOpen InteloneDNN(英語版) OpenVINO(英語版JAX MicrosoftDeepSpeed(英語版DirectML MLIR NVIDIAcuDNN TensorRT ONNX Runtime OpenAI Triton Theano/Aesara/PyTensor(英語版XLA
過去 Apache MXNet(英語版Chainer Torch(英語版torchtext Caffe Microsoft Cognitive Toolkit
カテゴリ Portal:コンピュータ