>  기사  >  기술 주변기기  >  TensorFlow 설치 과정을 안내해 드리겠습니다.

TensorFlow 설치 과정을 안내해 드리겠습니다.

王林
王林앞으로
2023-04-12 20:31:011854검색

1. 기본 소개 및 이해

1.1 소개

포괄적이고 유연한 오픈 소스 머신 러닝 플랫폼으로서 TensorFlow를 사용하여 데스크톱, 모바일, 웹 및 클라우드 환경에 적합한 머신 러닝 모델을 만들 수 있습니다. 또한 간단하게 할 수 있습니다. TensorFlow는 오픈 소스 기계 학습 프레임워크입니다. TensorFlow를 사용하면 신경망을 빠르게 구축하는 동시에 네트워크를 빠르게 훈련, 평가 및 저장할 수 있습니다.

TensorFlow를 설치한 후 사용할 때마다 직접 가져올 수 있습니다. 편리하고 빠릅니다.

TensorFlow를 tf

TensorFlow 공식 홈페이지는 다음과 같습니다.

TensorFlow 정보 |TensorFlow 중국어 공식 웹사이트(google.cn)

TensorFlow 설치 과정을 안내해 드리겠습니다.

1.2 장단점 분석 및 아키텍처 해석

1.2.1 장점

● 높은 유연성 : 계산을 계산 흐름 그래프로 표현할 수 있다면 TF를 사용할 수 있습니다.

● 진정한 이식성: 데스크탑, 서버(CPU 및 GPU 모두) 및 임베디드 장치를 지원합니다.

● 다국어 지원: Python을 기반으로 C++ 사용자 인터페이스와 Ipython 대화형 인터페이스도 제공합니다.

● 시각화 도구: TensorFlow는 강력한 시각화 도구인 TensorBoard를 제공합니다.

● 풍부한 패키지 라이브러리 지원: TFlearn, TF-Slim, Keras 등

1.2.2 단점

● Windows를 지원하지 않습니다.

TensorFlow가 갖는 모든 장점 외에도 Windows 사용자를 위한 기능은 매우 제한적입니다. Linux 사용자에게 매우 친숙합니다.

● GPU 지원

TensorFlow는 GPU용 NVIDIA만 지원하며 Python 프로그래밍 언어는 GPU 프로그래밍을 지원합니다.

1.2.3 TensorFlow 아키텍처 해석

TensorFlow 설치 과정을 안내해 드리겠습니다.

첫 번째 계층: 장치 통신 계층으로 장치 계층과 네트워크 계층으로 구성되며 네트워크 통신 및 장치 관리를 담당합니다. 장치 관리는 TF 장치의 이종 특성을 실현할 수 있습니다. 장치 계층은 CPU, GPU, 모바일 등 다양한 장치의 통신 구현을 지원합니다. 네트워크 통신은 gRPC 통신 프로토콜을 사용하여 서로 다른 장치 간의 데이터 전송 및 업데이트를 실현합니다.

두 번째 계층: Tensor를 처리 개체로 사용하는 커널 구현 계층은 네트워크 통신 및 장치 메모리 할당에 의존하고 다양한 Tensor 연산 또는 계산, 주로 기계 학습의 커널 구현을 구현합니다.

세 번째 레이어: 로컬 컴퓨팅 플로우 그래프 및 분산 컴퓨팅 플로우 그래프 구현을 포함하여 분산 마스터 제어 및 데이터 흐름 실행기로 구성된 그래프 컴퓨팅 레이어입니다. 분산 마스터는 로드 성능에 따라 다양한 장치에 다양한 작업 부하를 분산하고, 데이터 흐름 실행기는 최상의 실험 방법을 기반으로 데이터 흐름 그래프를 실행합니다.

네 번째 계층: API 인터페이스 계층, C API는 인터페이스 캡슐화입니다. TF 함수 모듈은 C 언어로 구현됩니다. C 언어는 저수준 언어이고 간단하고 빠르며 안정적이며 모든 운영 체제에서 실행될 수 있기 때문에 선택되었습니다.

다섯 번째 계층: 클라이언트 계층, Python, C++ 및 기타 프로그래밍 언어는 애플리케이션 계층의 API 인터페이스 계층을 통해 TF 핵심 기능을 호출하여 관련 실험 및 애플리케이션을 구현합니다.

그리고 TensorFlow의 마지막 레이어에는 Python 및 C++로 구현된 학습 및 추론 라이브러리가 포함되어 있습니다.

TensorFlow 입문 실무 운영의 기본 이론과 설계 아이디어를 완전히 이해하고 싶다면 중국 대학교 MOOC에 가서 "TensorFlow 입문 실무 과정"을 공부하고 빠르게 TensorFlow의 기본 애플리케이션과 실습을 시작해 보세요.

2. 설치 및 사용

2.1 설치

Ubuntu 16.04 이상(64비트)을 예로 들어보겠습니다.

2.1.1 pip를 사용하여 설치하세요

PIP는 패키지 관리 시스템입니다. Python으로 작성된 소프트웨어 패키지를 설치하고 관리하는 데 사용됩니다.

먼저 Python 3.6-3.9 및 pip 19.0 이상이 필요한 Python 환경을 설치해야 합니다. 설치 여부가 확실하지 않은 경우 버전 확인을 통해 확인할 수 있습니다. 계속하세요.

python3 –version
pip3 --version

설치되지 않은 경우 다음 코드를 참고하세요.

sudo apt update
sudo apt install python3-dev python3-pip python3-venv

요점: 사실 여기서 Python을 설치하려면 많은 것을 절약할 수 있는 아나콘다를 설치하는 것이 좋습니다. anaconda에는 conda, Python 등이 포함되어 있습니다. 190개 이상의 과학 패키지와 해당 종속성이 있습니다. 다양한 라이브러리 문제 및 버전 문제를 줄일 수 있습니다.

두 번째로여기서 권장되는 것은 설치입니다. 가상 환경

마지막으로 가상 환경을 활성화한 다음 가상 환경에 TensorFlow pip 패키지를 설치합니다

pip install --upgrade TensorFlow

설치가 완료되면 설치가 성공했는지 확인할 수 있습니다

python -c "import TensorFlow

2.1. 2 소스코드 컴파일 및 설치

git clone --recurse-submodules
https://github.com/TensorFlow/TensorFlow

Installation

Referencehttps://www.php.cn/link/a03caec56cd82478bf197475b48c05f9

Configure./configure 실제 상황을 바탕으로 일련의 질문에 솔직하게 답변하세요. 응답 후 bazel은 환경을 구성합니다. 이때 머신은 일부 컴파일 종속성 패키지를 쉽게 얻을 수 있도록 외부 네트워크에 액세스할 수 있어야 합니다. 일부 패키지는 벽을 뛰어 넘어야 할 수도 있습니다.

Compile

bazel build -c opt --config=cuda
//TensorFlow/tools/pip_package:build_pip_package

2.1.3 Docker 이미지 설치

Docker는 개발자가 애플리케이션 및 종속성 패키지를 휴대용 컨테이너에 패키징한 다음 가상화 환경에 게시할 수 있는 오픈 소스 애플리케이션 컨테이너 엔진입니다. 널리 사용되는 Linux 시스템에서 구현되었습니다.

Docker를 통해 TensorFlow를 설치하고 실행하면 이전에 컴퓨터에 설치된 패키지와 완전히 격리됩니다.

공식 이미지

공식적으로 4개의 Docker 이미지 사용 가능:

CPU 버전만, 개발 환경 없음: gcr.io/TensorFlow/TensorFlow

CPU 버전만, 개발 환경 있음 : gcr.io/TensorFlow/TensorFlow:latest-devel

은 개발 환경 없이 GPU를 지원합니다: gcr.io/TensorFlow/TensorFlow:latest-gpu

는 개발 환경인 gcr io/TensorFlow를 통해 GPU를 지원합니다. /TensorFlow:latest-devel-gpu

Docker 사용자 그룹 만들기

일반 사용자가 sudo 없이 컨테이너를 시작할 수 있도록 허용합니다.

usermod -a -G docker 用户名

Docker 컨테이너 시작

GPU를 지원하는 버전을 사용하고 있어서 4번째 버전을 선택해서 설치해 드리고 해당 명령어로 다운로드 가능합니다.

docker run -it 
gcr.io/TensorFlow/TensorFlow

2.2

2.2.1 자리 표시자

사용 구문: tf.compat.v1.placeholder(dtype, shape=None, name=None)

예 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]))

예 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)

구체적인 매개변수 설명:

dtype: 입력될 텐서 요소의 데이터 유형입니다.

shape: 기본값은 None: 입력될 텐서의 형태이며 선택적 매개변수입니다. 모양이 지정되지 않으면 어떤 모양의 텐서도 입력할 수 있습니다.

● 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])

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

init = tf.global_variables_initializer()#全局变量初始化
with tf.Session() as sess:
sess.run(init)

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

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

示例一:assign用来更新值

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

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

# 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进行输出

示例三: 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进行输出

2.2.2.3改变变量的形状

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

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会话

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

方式二进行自动关闭(使用到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)

安装好TensorFlow后,初步入门机器学习的同学可以到中国大学MOOC上学习《 TensorFlow 入门实操课程 》,快速了解如何使用TensorFlow建立和训练神经网络、用自然语言处理系统教会机器理解、分析和回应人类的言语 、构建和训练模型等基本理论。我推荐对模型部署有需求的同学可以去了解《 TensorFlow 入门课程 - 部署篇 》,高效掌握在多种生产场景下灵活部署模型的技巧。大家也可以在TensorFlow官网(https://www.php.cn/link/e48382353dc6c66379fb8e1ebf48c5e8)上探索更多学习资源,持续精进机器学习知识与技能!

作者介绍

张云波,活跃的IT网红讲师,拥有学员31w+,国内早期开始和发布苹果Swift、安卓Kotlin、微信小程序、区块链技术的讲师之一。主攻前端开发、iOS开发、Android开发、Flutter开发、区块链Dapp开发,有丰富的大公司和海外工作经验。

위 내용은 TensorFlow 설치 과정을 안내해 드리겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제