En tant que plate-forme d'apprentissage automatique open source complète et flexible, nous pouvons utiliser TensorFlow pour créer des modèles d'apprentissage automatique adaptés aux environnements de bureau, mobiles, Web et cloud Nous pouvons aussi simplement. Disons TensorFlow Il s'agit d'un cadre d'apprentissage automatique open source. Nous pouvons utiliser TensorFlow pour créer rapidement des réseaux de neurones, tout en formant, évaluant et sauvegardant rapidement le réseau.
Après avoir installé TensorFlow, nous pouvons l'importer directement à chaque fois qu'il est utilisé. C'est pratique et rapide
importer TensorFlow en tant que tf
Le site officiel de TensorFlow est le suivant :
À propos de TensorFlow | Site officiel chinois de TensorFlow (google.cn)
● Grande flexibilité : tant que le calcul peut être exprimé sous forme de graphique de flux de calcul, vous pouvez utiliser TF.
Quantity Véritable portabilité : prend en charge les ordinateurs de bureau, les serveurs (CPU et GPU) et les appareils intégrés.
Quantity Prise en charge multilingue : Basé sur Python, il fournit également une interface utilisateur C++ et une interface interactive Ipython.
Quantity Outil de visualisation : TensorFlow fournit un puissant outil de visualisation, TensorBoard.
Quantity Prise en charge de bibliothèques de packages riches : TFlearn, TF-Slim, Keras, etc.
Quantity Ne prend pas en charge Windows
Outre tous les avantages de TensorFlow, ses fonctionnalités sont très limitées pour les utilisateurs Windows. Il est très convivial pour les utilisateurs de Linux.
Yeah Support GPU
TensorFlow prend uniquement en charge NVIDIA pour GPU et le langage de programmation Python prend en charge la programmation GPU.
La première couche : la couche de communication des appareils, qui comprend la couche des appareils et la couche réseau, et est responsable de la communication réseau et de la gestion des appareils. La gestion des appareils peut réaliser les caractéristiques hétérogènes des appareils TF. La couche appareil prend en charge la mise en œuvre de la communication de différents appareils tels que le CPU, le GPU et le mobile. La communication réseau repose sur le protocole de communication gRPC pour réaliser la transmission de données et les mises à jour entre différents appareils.
La deuxième couche : la couche d'implémentation du noyau, qui utilise Tensor comme objet de traitement, s'appuie sur la communication réseau et l'allocation de mémoire de l'appareil, et implémente diverses opérations ou calculs Tensor, principalement l'implémentation du noyau de l'apprentissage automatique.
La troisième couche : couche de calcul graphique, composée d'un contrôle principal distribué et d'un exécuteur de flux de données, y compris la mise en œuvre d'un graphe de flux informatique local et d'un graphe de flux informatique distribué. Le maître distribué répartit différentes charges de travail sur différents appareils en fonction des capacités de charge, et l'exécuteur de flux de données exécute le graphique de flux de données sur la base des meilleures méthodes expérimentales.
La quatrième couche : la couche d'interface API, l'API C est l'encapsulation d'interface de. Le module fonction TF est implémenté en langage C. Le langage C a été choisi car il s’agit d’un langage de bas niveau, simple, rapide, fiable et pouvant fonctionner sur n’importe quel système d’exploitation.
La cinquième couche : la couche client, Python, C++ et d'autres langages de programmation appellent les fonctions de base de TF via la couche d'interface API dans la couche d'application pour mettre en œuvre des expériences et des applications associées.
Et la dernière couche de TensorFlow contient des bibliothèques de formation et d'inférence implémentées en python et C++.
Si vous souhaitez comprendre pleinement la théorie de base et les idées de conception du fonctionnement pratique d'introduction à TensorFlow, vous pouvez vous rendre au MOOC de l'Université de Chine pour étudier "Cours pratique d'introduction à TensorFlow", et rapidement débutez avec les applications et pratiques de base de TensorFlow.
Ici, nous prenons Ubuntu 16.04 ou supérieur (64 bits) comme exemple
PIP est un système de gestion de paquets, utilisé pour installer et gérer des progiciels écrits en Python.
Tout d'abord, nous devons installer l'environnement python, qui nécessite Python 3.6-3.9 et pip 19.0 et supérieur. Si vous n'êtes pas sûr que nous l'ayons installé, vous pouvez le vérifier en vérifiant la version pour vous assurer que vous le pouvez. continuez.
python3 –version pip3 --version
S'il n'est pas installé, merci de vous référer au code suivant :
sudo apt update sudo apt install python3-dev python3-pip python3-venv
Points clés : En fait, pour l'installation de python ici, je recommande d'installer anaconda, ce qui peut sauver beaucoup de choses. anaconda comprend conda, Python, etc. Plus de 190 packages scientifiques et leurs dépendances. Cela peut réduire divers problèmes de bibliothèque et de version.
Nous devons établir un environnement. un environnement virtuel
Enfin, nous activons l'environnement virtuel, puis installons le package pip TensorFlow dans l'environnement virtuelpip install --upgrade TensorFlow
python -c "import TensorFlow
git clone --recurse-submodules https://github.com/TensorFlow/TensorFlow
Référence https://www.php.cn/link/a03caec56cd82478bf197475b48c05f9
Configurer./ configureRépondez sincèrement à une série de questions en fonction de votre situation réelle. Après avoir répondu, bazel configurera l'environnement. À ce stade, la machine doit pouvoir accéder au réseau externe pour faciliter l'obtention de certains packages de dépendances de compilation. Certains colis devront peut-être être sautés par-dessus le mur.
Compilebazel build -c opt --config=cuda
//TensorFlow/tools/pip_package:build_pip_package
Lorsque vous installez et exécutez TensorFlow via Docker, il est complètement isolé des packages précédemment installés sur votre machine.
Image officielle
Fournit officiellement 4 images Docker à utiliser :
Unique version CPU, pas d'environnement de développement : gcr.io/TensorFlow/TensorFlowUnique version CPU, avec développement environnement : gcr.io/TensorFlow/TensorFlow:latest-devel
prend en charge le GPU, sans environnement de développement : gcr.io/TensorFlow/TensorFlow:latest-gpu
prend en charge le GPU, avec environnement de développement : gcr.io/TensorFlow. /TensorFlow:latest-devel-gpu
Créez un groupe d'utilisateurs Docker
Autorisez les utilisateurs ordinaires à démarrer des conteneurs sans sudo.usermod -a -G docker 用户名
Démarrez le conteneur Docker
J'utilise la version qui prend en charge le GPU, je choisis donc la quatrième à installer. Vous pouvez vérifier quelle version votre ordinateur prend en charge et la télécharger avec la commande correspondante.. docker run -it
gcr.io/TensorFlow/TensorFlow
Exemple 1 :w =
tf.constant([1, 1, 2, 2, 3, 3], shape=[2, 3])
h =
tf.constant([7, 7, 9, 9, 11, 11], shape=[3, 2])
#下面语法表示的是两个矩阵相乘
l
= tf.matmul(w, h)
with
tf.Session() as
print(sess.run([a,b,c]))
Exemple 2 :首先import进行导入
import TensorFlow as tf
w = tf.placeholder(dtype=tf.float32)
h = tf.placeholder(dtype=tf.float32)
sum = tf.add(w,h)
## 填充数据时,使用run()方法的feed_dict参数指定张量对应的值即可,数据格式和字典类似。
with tf.Session() as sess:
# 填充占位符,填充形式类字典
res
= sess.run(sum, feed_dict={w: [5], h: [6]})
print(res)
Description du paramètre spécifique :
Quantity:dtype : Le type de données des éléments du tenseur, qui seront saisis.
girdshape : La valeur par défaut est Aucun : la forme du tenseur qui sera saisi, c'est un paramètre facultatif. Si aucune forme n'est spécifiée, on peut saisir un tenseur de n'importe quelle forme. ● name: 默认为None:操作的名称,可选参数。 Variable()构造函数希望变量有一个初始值,它可以是任何种类或形状的Tensor。变量的类型和形式由其初始值定义。形状和变量一旦被创建就会被固定下来。 在众多的参数中,需要注意的是validate_shape: 默认为True。如果是False,允许变量以未知的形状值初始化。如果是True,初始值的形状必须是已知的,这是默认的。 2.2.2.1创建变量 最常见的创建变量方式是使用Variable()构造函数。 注意: 我们在进行初始化的时候也可以按如下书写 2.2.2.2分配或修改变量中的元素 我们使用assign()方法来修改这个变量。 示例一:assign用来更新值 输出结果如下: 示例二 : assign_add()用来添加变量值 输出结果如下: 示例三: assign_sub()用来从变量中减去值 2.2.2.3改变变量的形状 tf.reshape()方法用于改变变量的形状。必须传递变量和形状。 输出结果如下: TensorFlow中只有让Graph(计算图)上的节点在Session(会话)中执行,才会得到结果。Session的开启涉及真实的运算,因此比较消耗资源。在使用结束后,务必关闭Session。 方式一进行手动关闭: 方式二进行自动关闭(使用到with语句):2.2.2变量
import TensorFlow as tf
v = tf.Variable([1,2,3,4,5,6]) #创建变量v,为一个array
print(v)
#查看v的shape,不是v的值。
## 结果是: <tf.Variable 'Variable:0' shape=(6,), numpy=array([1,2,3,4,5,6],dtype=int32)>
with tf.Session() as sess:
sess.run(v.initializer) ##运行变量的initializer。调用op之前,所有变量都应被显式地初始化过。
sess.run(v) ##查看v的值,结果是:array([1,2,3,4,5,6])
init = tf.global_variables_initializer()#全局变量初始化
with tf.Session() as sess:
sess.run(init)
w = tf.Variable([3, 4,5,6])
w [1].assign(2)
w
<tf.Variable ‘Variable:0’ shape=(4,),
numpy=array([3, 2,5,6], dtype=int32)>
## 我们在此处使用assign将数组中的索引为1的值由4更新为2
# create variable
w = tf.Variable([3, 4,5,6])
# using assign_add() function
w.assign_add([1, 1,1,1])
w
<tf.Variable ‘Variable:0’ shape=(4,),
numpy=array([4, 5,6,7], dtype=int32)>
## 我们在此处使用assign_add()将数组中的每一个数值加1进行输出
# create variable
w = tf.Variable([3, 4,5,6])
# using assign_add() function
w.assign_sub([1, 1,1,1])
w
<tf.Variable ‘Variable:0’ shape=(4,),
numpy=array([2, 3,4,5], dtype=int32)>
## 我们在此处使用assign_sub()将数组中的每一个数值减1进行输出
import TensorFlow as tf
w= tf.Variable([[3, 5, 6, 7]])
tf.reshape(w, shape=(2, 2))
w
<tf.Tensor: shape=(2, 2), ,
numpy=array([[3, 5],[6, 7]], dtype=int32)>
2.2.3 Session会话
import TensorFlow as tf
w= tf.constant(8, dtype=tf.int8)
h = tf.constant(6, dtype=tf.int8)
result= w + h
sess = tf.Session()
sess.run(result)#执行运算
sess.close() #手动关闭session
import TensorFlow as tf
w= tf.constant(8, dtype=tf.int8)
h = tf.constant(6, dtype=tf.int8)
result= w + h
with tf.Session() as sess: #运算结束后session自动关闭
sess.run(res)
安装好TensorFlow后,初步入门机器学习的同学可以到中国大学MOOC上学习《 TensorFlow 入门实操课程 》,快速了解如何使用TensorFlow建立和训练神经网络、用自然语言处理系统教会机器理解、分析和回应人类的言语 、构建和训练模型等基本理论。我推荐对模型部署有需求的同学可以去了解《 TensorFlow 入门课程 - 部署篇 》,高效掌握在多种生产场景下灵活部署模型的技巧。大家也可以在TensorFlow官网(https://www.php.cn/link/e48382353dc6c66379fb8e1ebf48c5e8)上探索更多学习资源,持续精进机器学习知识与技能!
张云波,活跃的IT网红讲师,拥有学员31w+,国内早期开始和发布苹果Swift、安卓Kotlin、微信小程序、区块链技术的讲师之一。主攻前端开发、iOS开发、Android开发、Flutter开发、区块链Dapp开发,有丰富的大公司和海外工作经验。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!