참고: 이 기사의 예에서는 Python 버전 3.5.6 및 Tensorflow 버전 2.0을 사용합니다.
Introduction
Tensorflow는 Google에서 출시한 기계 학습 오픈 소스 아티팩트이며 Python에 대한 우수한 언어 지원 기능을 갖추고 있으며 CPU를 지원합니다. , GPU 및 Google TPU 및 기타 하드웨어를 갖추고 있으며 이미 다양한 모델과 알고리즘을 보유하고 있습니다. 현재 Tensorflow는 텍스트 처리, 음성 인식, 이미지 인식 등 다양한 머신러닝 및 딥러닝 분야에서 널리 사용되고 있습니다.
기본 프레임 워크는 응용 프로그램 계층, 인터페이스 계층 및 핵심 계층으로 권장하는 세 가지 레이어로 나뉩니다. 관련 Python, C++, Java 등의 언어에 대한 학습 라이브러리, 예측 라이브러리 및 프로그래밍 환경은 주로 계산 그래프 구성을 구현하는 웹 시스템의 프런트 엔드와 유사합니다.
인터페이스 레이어
는 Tensorflow 함수 모듈을 캡슐화하여 다른 언어 플랫폼에서의 호출을 용이하게 합니다. 코어 레이어에서 가장 중요한 부분에는 디바이스 레이어, 네트워크 레이어, 데이터 연산 레이어, 애플리케이션 레이어 계산을 수행하는 그래프 컴퓨팅 레이어가 포함됩니다.
1. 장치 계층
은 다양한 하드웨어 장치에서의 Tensorflow 구현을 포함하며 주로 CPU, GPU, 모바일 및 기타 장치를 지원하고 다양한 하드웨어 장치에서 계산 명령 변환을 실현하며 상위에 통합 인터페이스를 제공합니다. 레이어를 구축하고 크로스 플랫폼 기능을 구현합니다.2. 네트워크 계층
네트워크 계층에는 주로 RPC 및 RDMA 통신 프로토콜이 포함되어 있어 서로 다른 장치 간의 데이터 전송 및 업데이트를 실현합니다. 이러한 프로토콜은 분산 컴퓨팅에 사용됩니다.3. 데이터 연산 계층
텐서를 처리 대상으로 삼아 텐서의 다양한 연산과 계산을 구현합니다.4. 그래프 컴퓨팅 계층
에는 분산 컴퓨팅 그래프와 로컬 컴퓨팅 그래프의 구현이 포함되어 있으며 그래프의 생성, 편집, 최적화 및 실행을 실현합니다.디자인 개념
Tensorflow는 계산 그래프에서 "텐서의 흐름"으로 이해될 수 있는데, 여기서 Tensor(텐서)는 계산 그래프에서 가장자리를 나타내고 Flow(플로우)는 계산 그래프에서 노드를 나타냅니다. 수행된 작업으로 인해 발생하는 데이터 흐름입니다. 설계 개념은 데이터 흐름을 기반으로 합니다. 해당 기계 학습 모델을 구축한 후 학습 데이터를 사용하여 모델에 데이터를 흐르게 하고, 결과를 역전파 형태로 모델의 매개변수에 피드백하여 조정합니다. . 매개변수를 선택하고 조정된 매개변수를 사용하여 훈련 데이터를 다시 반복적으로 계산합니다.프로그래밍 기능
프로그래밍 기능에는 두 가지가 있습니다.그래프의 정의와 그래프의 동작이 완전히 분리되어 있습니다.
텐서플로우에서는 다양한 변수를 미리 정의하고 관련 데이터 흐름도를 구축해야 합니다. 데이터 흐름도 다양한 변수 간의 계산 관계를 생성하고 그래프 정의를 완성하려면 연산의 입력 데이터를 넣어야 출력 값이 형성됩니다. 그래프 계산은 세션에서 수행됩니다.텐서플로우의 관련 계산은 그래프에 정의되어 있으며, 그래프의 특정 실행 환경은 세션에 있어야만 계산을 시작할 수 있습니다. 세션을 닫은 후에는 더 이상 계산을 수행할 수 없습니다.
예:import tensorflow as tf tf.compat.v1.disable_eager_execution() a = 3 b = 4 c = 5 y = tf.add(a*b, c) print(y) a = tf.constant(3, tf.int32) b = tf.constant(4, tf.int32) c = tf.constant(5, tf.int32) y = tf.add(a*b, c) print(y) session = tf.compat.v1.Session() print(session.run(y)) session.close()그래프가 생성된 후 세션에서 데이터 계산이 수행되고 최종 결과가 출력되는 것을 볼 수 있습니다. 설계의 장점은 학습 과정에서 가장 많이 소비되는 부분이 데이터 학습입니다. 이렇게 설계하면 계산을 수행할 때 그래프가 결정되고 계산은 단지 지속적인 반복 프로세스.
기본 개념
Tensor
Tensor는 텐서플로우에서 가장 중요한 데이터 구조입니다. 텐서는 계산 그래프에서 데이터 전송에 사용됩니다. 계산 그래프에 텐서가 추가됩니다.session
Session은 실제로 그래프와 상호 작용하는 Tensorflow의 계산 그래프의 특정 실행자입니다. 세션에는 여러 그래프가 있을 수 있습니다. 세션의 주요 목적은 계산을 위해 그래프에 훈련 데이터를 추가하고 그래프의 구조를 수정하는 것입니다. 호출 모드에서는 with 문을 사용하는 것이 좋습니다.with session: session.run() Variable변수는 그래프의 다양한 계산 매개변수를 나타내며, 머신러닝 알고리즘은 이러한 변수의 상태를 조정하여 최적화됩니다. 변수를 생성하려면 tf.Variable()을 사용해야 합니다. 텐서를 입력하면 변수를 선언한 후 초기화해야 사용할 수 있습니다.
예:
import tensorflow as tf tf.compat.v1.disable_eager_execution() tensor = tf.ones([1, 3]) test_var = tf.Variable(tensor) # 初始化变量 init_op = tf.compat.v1.global_variables_initializer() session = tf.compat.v1.Session() with session: print("tensor is ", session.run(tensor)) # print("test_var is ", session.run(test_var)) session.run(init_op) print("after init, test_var is", session.run(test_var))
Placeholder
Placeholder는 입력 및 출력 데이터의 형식을 나타내는 데 사용되며 데이터 위치를 선언하고 지정된 유형 및 모양의 데이터가 전달되도록 허용하며 세션에서, 계산 그래프가 실행 중일 때 획득한 데이터를 사용하여 계산을 수행하며, 획득한 데이터는 계산이 완료된 후 사라집니다. 예:x = tf.compat.v1.placeholder(tf.int32) y = tf.compat.v1.placeholder(tf.int32) z = tf.add(x, y) session = tf.compat.v1.Session() with session: print(session.run([z], feed_dict={x: [1, 2], y: [2, 3]}))Operation Operation은 그래프의 노드입니다. 입력과 출력은 Tensor입니다. 해당 기능은 다음을 포함한 다양한 작업을 완료하는 것입니다. 수학 연산: add, sub, mul, div, exp ...배열 연산: concat, Slice, Split, Rank ...행렬 연산: matmul, Matrixinverse ...
신경망 구축: Softmax, Sigmoid, Relu ...
检查点:save, restore ...
队列和同步:enqueue, dequeue, mutexacquire, mutexrelease ...
张量控制:merge, switch, enter, leave ...
Queue
队列,图中有状态的节点。包含入列(endqueue)和出列(dequeue)两个操作,入列返回计算图中的一个操作节点,出列返回一个tensor值。
其中,队列有两种:
1. FIFOQueue
按入列顺序出列的队列,在需要读入的训练样本有序时使用。举个例子:
fifo_queue = tf.compat.v1.FIFOQueue(10, 'int32') init = fifo_queue.enqueue_many(([1, 2, 3, 4, 5, 6], )) with tf.compat.v1.Session() as session: session.run(init) queue_size = session.run(fifo_queue.size()) for item in range(queue_size): print('fifo_queue', session.run(fifo_queue.dequeue()))
2. RandomShuffleQueue
以随机顺序出列的队列,读入的训练样本无序时使用。举个例子:
rs_queue = tf.compat.v1.RandomShuffleQueue(capacity=5, min_after_dequeue=0, dtypes='int32') init = rs_queue.enqueue_many(([1, 2, 3, 4, 5], )) with tf.compat.v1.Session() as session: session.run(init) queue_size = session.run(rs_queue.size()) for i in range(queue_size): print('rs_queue', session.run(rs_queue.dequeue()))
本文来自 python教程 栏目,欢迎学习!
위 내용은 Tensorflow 기본 사항(머신러닝 오픈 소스 소프트웨어 라이브러리)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

PythonArraysSupportVariousOperations : 1) SlicingExtractsSubsets, 2) 추가/확장 어드먼트, 3) 삽입 값 삽입 ATSpecificPositions, 4) retingdeletesElements, 5) 분류/ReversingChangesOrder 및 6) ListsompectionScreateNewListSbasedOnsistin

NumpyArraysareSentialplosplicationSefficationSefficientNumericalcomputationsanddatamanipulation. Theyarcrucialindatascience, MachineLearning, Physics, Engineering 및 Financeduetotheiribility에 대한 handlarge-scaledataefficivally. forexample, Infinancialanyaly

UseanArray.ArrayOveralistInpyThonWhendealingwithhomogeneousData, Performance-CriticalCode, OrinterFacingwithCcode.1) HomogeneousData : ArraysSaveMemorywithtypepletement.2) Performance-CriticalCode : arraysofferbetterporcomanceFornumericalOperations.3) Interf

아니요, NOTALLLISTOPERATIONARESUPPORTEDBYARRARES, andVICEVERSA.1) ArraySDONOTSUPPORTDYNAMICOPERATIONSLIKEPENDORINSERTWITHUTRESIGING, WHITHIMPACTSPERFORMANCE.2) ListSDONOTEECONSTANTTIMECOMPLEXITEFORDITITICCESSLIKEARRAYSDO.

ToaccesselementsInapyThonlist, 사용 인덱싱, 부정적인 인덱싱, 슬라이스, 오리 화.

Arraysinpython, 특히 비밀 복구를위한 ArecrucialInscientificcomputing.1) theaRearedFornumericalOperations, DataAnalysis 및 MachinELearning.2) Numpy'SimplementationIncensuressuressurations thanpythonlists.3) arraysenablequick

Pyenv, Venv 및 Anaconda를 사용하여 다양한 Python 버전을 관리 할 수 있습니다. 1) PYENV를 사용하여 여러 Python 버전을 관리합니다. Pyenv를 설치하고 글로벌 및 로컬 버전을 설정하십시오. 2) VENV를 사용하여 프로젝트 종속성을 분리하기 위해 가상 환경을 만듭니다. 3) Anaconda를 사용하여 데이터 과학 프로젝트에서 Python 버전을 관리하십시오. 4) 시스템 수준의 작업을 위해 시스템 파이썬을 유지하십시오. 이러한 도구와 전략을 통해 다양한 버전의 Python을 효과적으로 관리하여 프로젝트의 원활한 실행을 보장 할 수 있습니다.

Numpyarrayshaveseveraladvantagesstandardpythonarrays : 1) thearemuchfasterduetoc 기반 간증, 2) thearemorememory-refficient, 특히 withlargedatasets 및 3) wepferoptizedformationsformationstaticaloperations, 만들기, 만들기


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는
