Maison > Périphériques technologiques > IA > Passons en revue l'installation de TensorFlow

Passons en revue l'installation de TensorFlow

王林
Libérer: 2023-04-12 20:31:01
avant
1903 Les gens l'ont consulté

1. Introduction et compréhension de base

1.1 Introduction

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)

Passons en revue l'installation de TensorFlow

1.2 Analyse des avantages et des inconvénients et interprétation de l'architecture

1.2.1 Avantages

● 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.

1.2.2 Inconvénients

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.

1.2.3 Interprétation de l'architecture TensorFlow

Passons en revue l'installation de TensorFlow

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.

2. Installation et utilisation

2.1 Installation

Ici, nous prenons Ubuntu 16.04 ou supérieur (64 bits) comme exemple

2.1.1 Installer à l'aide de pip

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
Copier après la connexion

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
Copier après la connexion

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 virtuel

pip install --upgrade TensorFlow
Copier après la connexion

Une fois l'installation terminée, vous pouvez le vérifier pour vous assurer que l'installation est réussie

python -c "import TensorFlow
Copier après la connexion
2.1.2 Compilation et installation du code source

git clone --recurse-submodules
https://github.com/TensorFlow/TensorFlow
Copier après la connexion

Installation

Référence//m.sbmmt.com/link/a03caec56cd82478bf197475b48c05f9

Configurer./ configure

Ré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.

Compile

bazel build -c opt --config=cuda
//TensorFlow/tools/pip_package:build_pip_package
Copier après la connexion
2.1.3 Installation d'images Docker

Docker est un moteur de conteneur d'applications open source qui permet aux développeurs de regrouper leurs applications et leurs packages de dépendances dans un conteneur portable, puis de les publier sur n'importe quelle virtualisation. implémenté sur les machines Linux populaires.

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/TensorFlow

Unique 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 用户名
Copier après la connexion

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
Copier après la connexion
2.2 Utiliser

2.2.1 placeholder

Syntaxe : tf.compat.v1.placeholder(dtype, shape=None, name=None)

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]))
Copier après la connexion

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)
Copier après la connexion

Description du paramètre spécifique :

Quantity:

dtype : Le type de données des éléments du tenseur, qui seront saisis.

gird

shape : 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:操作的名称,可选参数。

2.2.2变量

Variable()构造函数希望变量有一个初始值,它可以是任何种类或形状的Tensor。变量的类型和形式由其初始值定义。形状和变量一旦被创建就会被固定下来。

在众多的参数中,需要注意的是validate_shape: 默认为True。如果是False,允许变量以未知的形状值初始化。如果是True,初始值的形状必须是已知的,这是默认的。

2.2.2.1创建变量

最常见的创建变量方式是使用Variable()构造函数。

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])
Copier après la connexion

注意: 我们在进行初始化的时候也可以按如下书写

init = tf.global_variables_initializer()#全局变量初始化
with tf.Session() as sess:
sess.run(init)
Copier après la connexion

2.2.2.2分配或修改变量中的元素

我们使用assign()方法来修改这个变量。

示例一:assign用来更新值

w = tf.Variable([3, 4,5,6])
w [1].assign(2)
w
Copier après la connexion

输出结果如下:

<tf.Variable ‘Variable:0’ shape=(4,),
numpy=array([3, 2,5,6], dtype=int32)>
## 我们在此处使用assign将数组中的索引为1的值由4更新为2
Copier après la connexion

示例二 : assign_add()用来添加变量值

# create variable
w = tf.Variable([3, 4,5,6])
# using assign_add() function
w.assign_add([1, 1,1,1])
w
Copier après la connexion

输出结果如下:

<tf.Variable ‘Variable:0’ shape=(4,),
numpy=array([4, 5,6,7], dtype=int32)>
## 我们在此处使用assign_add()将数组中的每一个数值加1进行输出
Copier après la connexion

示例三: assign_sub()用来从变量中减去值

# 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进行输出
Copier après la connexion

2.2.2.3改变变量的形状

tf.reshape()方法用于改变变量的形状。必须传递变量和形状。

import TensorFlow as tf
w= tf.Variable([[3, 5, 6, 7]])
tf.reshape(w, shape=(2, 2))
w
Copier après la connexion

输出结果如下:

<tf.Tensor: shape=(2, 2), ,
numpy=array([[3, 5],[6, 7]], dtype=int32)>
Copier après la connexion

2.2.3 Session会话

TensorFlow中只有让Graph(计算图)上的节点在Session(会话)中执行,才会得到结果。Session的开启涉及真实的运算,因此比较消耗资源。在使用结束后,务必关闭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
Copier après la connexion

方式二进行自动关闭(使用到with语句):

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)
Copier après la connexion

安装好TensorFlow后,初步入门机器学习的同学可以到中国大学MOOC上学习《 TensorFlow 入门实操课程 》,快速了解如何使用TensorFlow建立和训练神经网络、用自然语言处理系统教会机器理解、分析和回应人类的言语 、构建和训练模型等基本理论。我推荐对模型部署有需求的同学可以去了解《 TensorFlow 入门课程 - 部署篇 》,高效掌握在多种生产场景下灵活部署模型的技巧。大家也可以在TensorFlow官网(//m.sbmmt.com/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!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal