어려운 튜토리얼

Eolyeoun Tyutolieol



로봇 설계 및 개발에 Python을 사용한다는 사실을 알고 있는 사람이 있습니까? 그렇다면 파이썬의 딥 러닝 아이디어가 그것을 달성하는 유일한 방법이라는 것을 증명할 수 있어야 합니다. 머신 러닝은 인간의 마음 모델에서 영감을 얻는 최적화 기술에 대한 연구입니다. 로봇 공학, 인공 지능(AI), 음악 및 비디오 식별, 사진 식별을 포함한 데이터 과학 분야에서 딥 러닝 사용이 증가하고 있습니다. 딥 러닝 접근 방식은 합성 신경망을 중심으로 구축됩니다. 깊이 파고 들기 전에 먼저 Keras의 개념을 이해해야 합니다.

딱딱한

딥 러닝 알고리즘을 구축하기 위한 가장 효과적이고 사용자 친화적인 플러그인 중에는 TensorFlow 또는 CNTK와 같은 잘 알려진 딥 러닝 프레임워크를 기반으로 구축되는 Keras라는 Python 기반 고급 인공 신경 프레임워크가 있습니다. 심층 신경망을 활용하여 더 빠르게 탐색할 수 있도록 사용자 친화적이고 확장 가능하며 적응할 수 있도록 설계되었습니다. Feedforward 및 Retractable Networks를 개별적으로 또는 콤보로 처리합니다. 관리할 수 없기 때문에 소규모 작업을 처리하기 위해 백엔드 패키지를 사용합니다. Keras 배포, 딥 러닝의 기초, Keras 구조, Keras 계층화, Keras 패키지 및 실시간 프로그래밍에 대해 이 강의에서 다룹니다.

Linux에서 Keras 설정

01단계: 시스템 업데이트

Python의 'Keras' 라이브러리 사용에 대한 전체 데모를 보기 전에 추가 설치를 쉽게 하기 위해 Linux 시스템을 완전히 업데이트해야 합니다. 이를 위해 시스템의 내장 응용 프로그램에서 '콘솔' 응용 프로그램을 빠르게 열어야 합니다. 특정 쿼리 영역 내에서 'apt' 유틸리티와 'sudo' 권한이 있는 Linux의 '업데이트' 쿼리를 추가하여 시스템을 빠르게 업데이트했습니다. 시스템이 제대로 업데이트될 수 있도록 이 프로세스를 계속하려면 사용자 암호가 필요했습니다.









02단계: Python 및 Pip 설치

Keras 및 TensorFlow를 통한 딥 러닝을 사용하려면 시스템에 Python의 최신 버전이 구성되어 있어야 합니다. 따라서 우리는 시스템에 필요한 'pip' 유틸리티와 함께 ​​Python의 업데이트된 패키지를 설치하기 시작합니다. 이를 위해 쉘의 'install' 쿼리에서 Ubuntu 20.04 Linux 시스템의 'apt' 유틸리티를 다시 활용해야 하며, 그 뒤에 설치할 패키지 이름(예: Python3 및 Python3-pip)을 사용해야 합니다. 콘솔 영역에서 이 간단한 쿼리를 실행하면 시스템이 시스템에 두 패키지를 모두 설치하고 구성하기 시작합니다.







반면에 시스템에 Python용 'pip' 유틸리티의 이전 버전이 설치되어 있는 경우 계속 진행하기 전에 업데이트해야 합니다.



Python 및 'pip' 유틸리티를 성공적으로 구성한 후에는 가까운 장래에 문제가 발생하지 않도록 Python용 Setuptools를 업그레이드해야 합니다. 따라서 'pip3' 유틸리티와 –upgrade 옵션을 사용하여 설치 쿼리를 시도하여 Setuptools, 즉 설정 도구 업그레이드를 설치했습니다. 시스템에 대한 현재 암호를 요청하고 추가했습니다.

03단계: TensorFlow 설치

기계 학습 및 지도 신경 모델 구축을 위해 TensorFlow는 가장 잘 알려진 기호 수학 패키지입니다. 설치를 마친 후 동일한 'pip3' 설치 쿼리를 실행하고 'Tensorflow' 패키지 이름을 실행했습니다.

다른 TensorFlow 관련 유틸리티는 시스템에 완전히 설치되어야 합니다. 이러한 유틸리티는 TensorFlow와 함께 설치되며 최대 10분 이상 소요될 수 있습니다.

04단계: 필수 패키지 설치

Ubuntu 20.04 시스템에서 TensorFlow를 성공적으로 구성한 후 'git' 및 'cmake'와 같은 다른 유틸리티와 함께 ​​일부 빌드 패키지도 구성해야 합니다. 동일한 'apt' 도구를 사용하여 아래와 같이 필요한 패키지를 많이 설치했습니다.

이 단계는 이 설치를 확인하여 가장 주의를 기울이고 있습니다. 'y'를 누르고 계속하십시오.

05단계: 가상 환경 생성

필요한 설치가 끝나면 가상 환경을 만들 차례입니다. 따라서 'venv' 변수를 통해 가상 환경 'kerasenv'를 생성하려면 '-m' 옵션과 함께 Python3 유틸리티를 사용해야 합니다. 'ls' 쿼리는 환경이 생성되었음을 보여줍니다.

이제 Keras 폴더의 가상 환경 내에서 이동해야 합니다. 그래서 가상 환경 폴더 이름과 함께 'cd' 명령어를 사용했습니다. 그 후, 우리는 이 가상 환경의 'bin' 폴더 내로 이동하여 하위를 나열했습니다. 이 Python 환경을 활성화하기 위해 'activate' 파일과 함께 쿼리 영역에서 'source' 명령을 시도했습니다. 가상 환경은 'kerasenv'라는 이름으로 활성화됩니다.

06단계: Python 라이브러리 설치

Python 가상 환경을 성공적으로 설정한 후 Keras를 설치하기 전에 필요한 모든 Python 라이브러리를 설치해야 합니다. 따라서 Python의 'pip' 패키지를 사용하여 동일한 가상 환경에 panda의 라이브러리를 먼저 설치했습니다.

시스템은 이미지와 같이 Python의 가상 환경 내에서 구성을 시작합니다.

pandas의 라이브러리를 설치한 후 다음 방법을 사용하여 NumPy 라이브러리를 설치해 보십시오.

매우 유사한 방식으로 동일한 환경에 Python의 scipy 라이브러리를 설치합니다.

이제 환경에 Python의 matplotlib 라이브러리를 설치합니다.

Python은 기계 학습에서 클러스터링 및 회귀 알고리즘을 사용하여 신경망 모델을 수행합니다. 이를 위해 필요한 패키지를 구성하기 위해 '-u' 옵션과 함께 'pip' 유틸리티로 설치 중인 sci-kit 학습 라이브러리도 있습니다.

scikit 라이브러리 설치 처리는 다음과 같습니다.

딥 러닝의 시각화를 위해서는 Seaborn 라이브러리인 Python이 설치되어 있어야 합니다. 따라서 '설치' 쿼리로 동일한 환경에 설치했습니다.

07단계: Keras 라이브러리 설치

Python의 필요한 모든 필수 라이브러리를 설치한 후 마침내 Python의 가상 환경 내에서 Keras를 설치할 수 있습니다. 'pip' 유틸리티는 모듈 이름, 즉 'Keras'를 사용하여 '설치' 쿼리 내에서 이러한 목적으로 활용됩니다. 시스템에서 요구 사항이 이미 충족된 것으로 표시되면 이미 설치 및 구성되었음을 의미합니다.

아직 설치되지 않은 경우 이 쿼리는 1초의 지연 없이 가상 환경에서 다운로드 및 구성을 시작하고 아래와 같이 처리가 표시됩니다.

가상 환경에서 'Keras' 라이브러리의 전체 구성 및 설치가 끝나면 'pip show' 쿼리를 통해 쉘에 대한 전체 정보를 표시할 차례입니다. 이 'show' 쿼리를 실행하면 Python의 가상 환경에 설치된 Keras 버전, 이름, 요약, 웹 홈페이지, 작성자, 작성자의 이메일, 라이선스, 시스템에서 차지하는 위치 및 많은 항목이 표시됩니다. 아래 제시된 대로 더:

Python의 Keras 및 TensorFlow 라이브러리를 가장 잘 설치한 후 가상 환경을 종료해야 합니다. 이를 위해 쉘에서 '비활성화' 쿼리를 시도하고 종료합니다.

08단계: Anaconda Cloud 설치

Python에는 Python에서 신경망 예제를 구축하는 데 필요한 'Anaconda'라는 클라우드가 있습니다. 따라서 실행 파일을 시스템에 다운로드했습니다.

이 파일은 'ls' 쿼리에 따라 Linux 시스템의 현재 홈 폴더에 있었습니다. 먼저 체크섬인지 확인해야 합니다. 즉, sha256sum 쿼리를 통해 완전히 올바른지 여부입니다.

그런 다음 동일한 콘솔에 'Bash' 명령과 파일 이름을 사용하여 다운로드한 아나콘다의 Bash 파일을 시스템에 설치해야 합니다. 설치하기 전에 라이센스 계약을 검토하도록 요청했습니다. 따라서 계속하려면 'Enter'를 탭했습니다.

라이센스 계약을 거친 후 약관에 동의하면 '예'를 탭하도록 요청합니다. Enter 키를 눌러 같은 위치에 계속 설치하거나 설치하려는 디렉토리의 경로를 작성해야 합니다. 그렇지 않으면 'Ctrl-c'를 사용하여 설치를 취소하십시오.

이 프로세스에서 설치될 패키지의 긴 목록이 표시됩니다. 일부 트랜잭션 실행 후 패키지 설치를 시작합니다.

잠시 후 추가 패키지와 함께 아나콘다가 성공적으로 설치되었습니다.

루트로 'source' 쿼리를 통해 'activate' 파일을 실행해야 합니다.

다음 쿼리를 사용하여 아나콘다 내비게이터를 실행해 보십시오.

새로운 conda 환경을 만들고 작업하려면 name 옵션 뒤에 새로운 환경 이름(즉, PyCPU)이 오는 'conda create' 명령을 시도하십시오.

이 프로세스에는 새로운 환경 생성에 대한 확인이 필요합니다. 'y'를 탭합니다.

새로 만든 conda 환경을 활성화하고 실행하려면 새 환경의 이름과 함께 'conda activate' 쿼리를 사용합니다. 즉, PyCPU 환경이 이제 활성화되었습니다.

09단계: Spyder IDE 설치

Python 프로그램을 실행하려면 이 환경에 Spyder IDE를 설치해야 합니다. 이를 위해 'spyder' 키워드를 사용하여 PyCPU 환경 셸에서 conda 설치 쿼리를 시도했습니다.

Spyder 설치를 계속하려면 'y'를 탭하세요.

10단계: Pandas 및 Keras 라이브러리 설치

Spyder 설치 후 -c 옵션과 함께 conda 설치 쿼리를 사용하여 아나콘다 환경에 panda의 Python 라이브러리를 설치합니다.

다시 'y' 버튼을 눌러 계속 진행합니다.

pandas를 성공적으로 구성한 후 동일한 쿼리로 Keras 라이브러리를 설치합니다.

'y' 버튼을 클릭한 후 진행합니다.

다음과 같이 anaconda 현재 환경 콘솔 내에서 Spyder IDE를 시작할 수 있습니다.

Spyder IDE는 출시를 준비하고 있습니다.

숨겨진 폴더 '.keras'는 홈 디렉토리에 있습니다. 숨김을 해제하고 'keras.json' 파일을 열어 다음 구성을 추가합니다.

Windows에서 Keras 및 TensorFlow 설정

Windows 환경에서 Keras 및 TensorFlow를 설정하려면 'pip' 라이브러리 및 Anaconda Navigator와 함께 Python 언어가 이미 설정되어 있는지 확인해야 합니다. 설정한 후에는 검색 영역에서 열어 '환경' 탭으로 이동해야 합니다. 이 탭에서 현재 작업 중인 환경 이름, 즉 base를 찾을 수 있습니다. 아래 영역에서 다음 탭을 찾을 수 있습니다. '만들기' 옵션을 탭합니다.

여기에서 'TensorFlow'라는 새 환경 이름을 만들어야 합니다. 즉, 현재 기본 환경 안에 있습니다. 사용할 Python의 최신 버전을 선택하고 '만들기' 버튼을 눌러 계속 진행합니다.

환경이 로드되기 시작했음을 알 수 있습니다.

잠시 후 TensorFlow 환경이 완전히 설치됩니다.

맨 왼쪽 영역에서 아래와 같이 Python에 대해 설치 및 사용 가능한 모든 라이브러리와 모듈을 볼 수 있습니다.

이제 이 영역을 사용하여 Python의 TensorFlow 백엔드 라이브러리를 설치해야 합니다. 검색 창에 'TensorFlow'라고 쓰고 표시된 목록에서 동일한 케이스 패키지를 표시하여 설치합니다. '적용' 버튼을 탭하여 'Keras'와 같은 하위 모듈과 함께 TensorFlow 설치를 진행합니다.

Anaconda 환경에서 작동하고 TensorFlow를 구성하기 시작했습니다.

설치하는 동안 Anaconda 환경에 설치될 하위 패키지 목록이 표시됩니다. '적용' 버튼을 누르고 완료될 때까지 잠시 기다립니다.

잠시 후 동일한 모듈 영역에서 설치된 모든 패키지를 찾을 수 있습니다. Keras 라이브러리가 다른 패키지와 함께 설치된 것을 볼 수 있으며 지금 설치할 필요가 없습니다.

Windows 검색 창에서 'Jupyter' 키워드를 검색합니다. 'Jupyter Notebook(TensorFlow)'이라는 애플리케이션이 다른 애플리케이션과 함께 표시됩니다. 이를 탭하여 백엔드 TensorFlow가 활성화된 jupyter 노트북을 시작합니다. 새 Python 파일을 만들고 작업을 시작합니다.

하드를 통한 딥 러닝

딥 러닝에는 섭취에 대한 레이어별 분석이 포함되며, 각 레이어는 입력에서 고급 수준의 세부 정보를 점진적으로 추출합니다. Keras는 모든 종류의 신경망을 형성하기 위해 완전한 프레임워크를 제공합니다. 창의적이고 매우 이해하기 쉬운 Keras입니다. 그것은 가장 순진한 것부터 가장 크고 가장 복잡한 것까지 신경망 모델을 가능하게 합니다.

인공 신경망(ANN)

ANN(Artificial Neural Network) 방법론은 딥 러닝의 가장 널리 사용되는 기본적인 방법인 것 같습니다. 그들은 모델 역할을 하는 우리 몸의 가장 자연스럽고 복잡한 구성 요소인 인간의 마음에서 신호를 가져옵니다. '뉴런'이라고 불리는 900억 개 이상의 미세한 세포가 개인의 뇌를 구성합니다. 축삭과 수상돌기는 뉴런을 함께 연결하는 일종의 신경 섬유입니다. 축색 돌기의 주요 기능은 연결된 뉴런에서 다음 뉴런으로 데이터를 보내는 것입니다. 자세한 내용은 Google 검색 엔진에서 검색하십시오.

케라스 아키텍처

Keras API 아키텍처는 아래 나열된 세 가지 주요 부분으로 분류되었습니다. 하나하나 짚고 넘어가자.

  • 모델
  • 핵심 모듈

하드 모델

Keras 모델은 순차 API와 기능 API의 두 가지 유형으로 구성됩니다.

순차 모델

기본적으로 순차 모델은 Keras 레이어를 시간순으로 편집한 것입니다. 단순하고 단순한 순차 모델은 현재 사용 중인 거의 모든 신경망을 설명할 수 있습니다. 순차 모델이 공개하는 Model 클래스를 사용하여 맞춤형 모델을 만들 수 있습니다. 하위 분류 접근 방식은 우리 자신의 정교한 모델을 구축하는 데 사용할 수 있습니다. 순차 모델의 데모는 아래에 제시되었습니다.

레이어 추가

스크립트는 keras.models를 통한 순차 모드 가져오기에서 시작되었으며 다른 라인은 순차 모델을 생성하고 있습니다. 그런 다음 조밀한 계층을 가져오면 입력 계층이 생성되고 입력 계층이 모델에 추가됩니다. 은닉 조밀층이 생성되어 모델에 추가되었으며 출력 조밀층에 대해서도 동일한 작업이 수행되었습니다.

모델에 액세스

모델 레이어, 사용 중인 입력 데이터 및 출력 데이터에 대한 정보를 얻을 수 있습니다. model.layers 함수를 사용하면 모든 레이어에 액세스할 수 있습니다. model.inputs는 입력 텐서를 표시하고 model.output은 출력 텐서를 표시합니다.

모델 직렬화

스크립트에 사용된 모델을 객체나 JSON으로 반환하는 것은 쉽습니다. 예를 들어, get_config() 함수는 모델을 엔티티/객체로 생성합니다. from_config() 함수는 객체를 매개변수 값으로 사용하여 새 모델을 생성합니다.

to_json() 함수를 사용하여 모델을 JSON으로 변경할 수도 있습니다.

모델 요약

일부 추가 정보와 함께 모델 내에서 사용된 레이어에 대한 전체 요약을 얻으려면 summary() 함수를 호출하십시오.

모델 훈련 및 예측

훈련하고 예측하려면 컴파일 기능, 적합 기능, 기능 평가 및 이와 관련하여 예측 기능을 사용해야 합니다.

하드 레이어

제안된 신경망 모델의 모든 입력, 은닉 및 산출 레이어는 실제 모델의 다른 케라스 레이어에 해당합니다. 사전 구축된 Keras 라이브러리 계층을 많이 사용하여 정교한 신경망을 빠르게 개발할 수 있습니다. 코어 레이어, 풀링 레이어, 순환 레이어 및 컨볼루션 레이어와 같은 다양한 Keras 레이어가 있습니다. 웹에서 검색하여 공부할 수 있습니다. 처음 두 줄은 Sequential 모드, Dense, Activation 및 Dropout 레이어를 가져왔습니다.



드롭아웃 순차 모델을 생성하기 위해 Sequential() API를 시도했습니다. 활성화 모델 'relu'를 제거함으로써 'Dense' API를 통해 고밀도 레이어를 생성했습니다. 조밀한 레이어의 과적합을 처리하기 위해 Dropout() API, 즉 dropout() 함수를 통한 드롭아웃 레이어링을 사용했습니다. 그 후 우리는 'relu' 활성화 모델과 함께 더 조밀한 계층을 사용했습니다. 과적합에서 조밀한 레이어를 처리하려면 Dropout 레이어를 사용해야 합니다. 결국 우리는 'softmax' 유형 활성화 모델을 사용하여 최종 조밀한 레이어를 캐스팅했습니다.







요리하면서 겹겹이 쌓은 적 있으신가요? 그렇다면 이 개념은 이해하기 어렵지 않을 것입니다. 한 레벨의 결과는 다음 계층의 입력 데이터로 사용됩니다. 다음은 완전히 새로운 레이어를 구축하는 데 필요한 기본 사항입니다.



  • 입력 데이터 모양
  • 레이어의 총 뉴런/단위
  • 이니셜라이저
  • 정규화기
  • 제약
  • 활성화

입력 데이터 모양

Python 언어 내에서 모든 종류의 입력은 정수 배열로 변환된 다음 알고리즘 모델에 추가되었습니다. Python 내에서 요구 사항에 따라 출력을 얻으려면 입력 모양을 지정해야 합니다. 다음 예에서는 입력 모양(3,3), 즉 3행과 3열을 지정했습니다. 출력이 매트릭스를 표시하고 있습니다.







이니셜라이저

Keras Layers의 이니셜라이저 모듈은 입력 데이터의 특정 가중치를 지정하는 많은 기능을 제공합니다. 예를 들어, zeros() 함수는 모두에 대해 0을 지정하고, ones()는 모두에 대해 지정하고, constant() 함수는 모두에 대해 사용자가 추가한 지정된 상수 값을 지정합니다. 더 나은 이해를 위해 identity() 함수를 사용하여 단위 행렬을 생성했습니다. 나머지 기능은 검색 엔진에서도 검색할 수 있습니다.



제약

레이어의 '가중치' 매개변수에 대한 제약 조건을 적용하는 데 사용할 수 있는 다양한 제약 조건 기능이 있습니다. 다음 그림에서는 가중치보다 작거나 같은 제약 기준을 적용했습니다. 'max_value' 매개변수는 적용할 제약 조건의 상한이고 축은 제약 조건이 적용될 차원, 즉 차원 1입니다.

정규화기

최적화 전반에 걸쳐 레이어 속성에 다양한 요금을 부과합니다. 또한 L1 regularizer, L2 regularizer 및 'LI 및 ​​L2' Regularizer와 같은 몇 가지 기능을 제공했습니다. 다음은 L1 regularizer 함수의 가장 간단한 그림입니다.

활성화

활성화 함수라는 고유한 기능을 사용하여 특정 뉴런이 활성화되었는지 여부를 결정합니다. 활성화 기능은 들어오는 데이터를 복잡한 방식으로 변환하여 뉴런이 더 효과적으로 연구하는 데 도움이 됩니다. 다음은 아래 제공된 예에 제시된 몇 가지 활성화 방법입니다.

하드 모듈

프로그래밍 모듈에는 일반적으로 다른 특정 목적에 사용되는 함수, 클래스 및 변수가 포함되어 있습니다. 마찬가지로 Python의 Keras 라이브러리에는 많은 모듈이 포함되어 있습니다. 웹에서 Keras 모듈에 대한 모든 필수 지식을 얻을 수 있습니다.

백엔드

가장 잘 알려지고 사용되는 모듈 중 하나는 TensorFlow 및 Theano와 같은 Python의 백엔드 라이브러리를 사용하도록 설계된 '백엔드' 모듈입니다. 백엔드 모듈을 사용하여 TensorFlow 및 Theano 라이브러리에서 최대한 많은 백엔드 기능을 활용할 수 있습니다. 백엔드 라이브러리 모듈을 사용하기 위해서는 히든 .keras 폴더에 생성한 “keras.json” 설정 파일에서 사용할 백엔드 라이브러리를 지정해야 합니다. 기본적으로 백엔드는 'TensorFlow'로 지정되지만 다른 것으로도 변경할 수 있습니다(예: Theano 또는 CNTK).

이 예에서는 TensorFlow 라이브러리를 백엔드로 사용할 것입니다. 루트 'keras' 폴더의 keras.json 파일에서 백엔드 구성을 로드하려면 다음을 사용합니다.

  • keras에서 k로 백엔드 가져오기

keras.json 파일에서 백엔드를 성공적으로 가져온 후 가져올 변수와 함께 'k' 변수를 사용하여 백엔드 정보를 가져올 차례입니다. 먼저 'backend()' 함수를 사용하여 이미 가져온 백엔드의 이름을 가져왔습니다. 백엔드 값으로 'Tensorflow'를 반환합니다. 백엔드의 float 값을 얻기 위해 Keras의 'k' 변수 객체를 통해 floatx() 함수를 호출했습니다. float32 값을 사용하고 있음을 보여줍니다.

이미지 데이터의 형식을 얻으려면 'k' 변수와 함께 image_Data_format() 함수를 사용하십시오. 그것을 사용하면 백엔드가 'channel_last' 이미지 데이터 형식을 활용하고 있음을 보여줍니다. 백엔드에 대한 지수 거듭제곱을 얻으려면 변수 'k'를 사용하여 epsilon() 함수를 호출하십시오. 백엔드가 '07'의 지수 거듭제곱을 사용할 것임을 반환합니다. 백엔드 정보를 가져오는 것이 전부입니다.

Get_uid() 함수

이제 TensorFlow의 기능을 이해하기 위해 TensorFlow의 일부 백엔드 기능을 살펴보겠습니다. 가장 많이 사용되는 백엔드 함수 중 하나인 'get_uid() 함수는 우리가 사용하고 있는 기본 그래프를 식별하는 데 사용됩니다. 접두사='' 매개변수와 함께 사용하면 사용법에 따라 '1'이 반환됩니다. 다시, 그것을 사용하면 우리가 그것을 다시 호출하고 그래프의 값이 증가했기 때문에 '2'를 반환할 것입니다. 'reset_uids' 함수를 사용한 후 그래프 사용자 ID 값은 0으로 재설정됩니다. 따라서 get_uid() 함수를 다시 한 번 사용하면 1씩 증가합니다.

자리 표시자() 함수

텐서는 다양한 차원의 모양을 유지하기 위해 placeholder() 함수를 사용해 왔습니다. 예를 들어 다음 그림에서 Keras 변수 'k'를 통해 텐서의 3D 이미지를 유지하고 다른 변수 'd'에 저장하는 데 사용했습니다. 변수 'd'의 출력은 자리 표시자 내에서 사용된 모양의 속성을 보여줍니다.

'int_shape()' 함수는 플레이스홀더 'd'에 저장된 값의 모양을 표시하는 데 사용됩니다.

점() 함수

두 벡터를 곱한 적이 있습니까? 그렇다면 두 개의 텐서를 곱하는 것이 어렵지 않을 것입니다. 이를 위해 백엔드 라이브러리는 '점' 기능을 제공했습니다. 먼저 두 개의 다른 모양을 유지하기 위해 처음 두 줄의 placeholder() 함수에서 모양 값을 사용하여 두 개의 홀더 'x'와 'y'를 생성했습니다. dot() 함수는 'x' 및 'y' 홀더를 사용하여 두 텐서를 곱하고 결과를 다른 변수 'z'에 저장합니다. 인쇄에 'z'텐서를 사용할 때 곱한 결과 텐서 모양(1, 5)을 화면에 표시했습니다.

Ones() 함수

백엔드 모듈의 ones() 함수는 특정 모양의 모든 값을 1로 초기화하는 것으로 알려져 있습니다. 예를 들어, 텐서 모양(3,3)에 ones() 함수를 사용하고 결과를 다음 위치에 저장했습니다. 변수 'v'. eval() 함수는 변수 'v'의 값을 평가하고 Python 환경에 표시하기 위해 여기에서 캐스트됩니다. 그 대가로 (3,3) 모양을 float32 데이터 유형을 가진 모든 배열 행렬로 변환했습니다.

Batch_dot() 함수

텐서 배치는 모델을 업데이트하기 전에 정렬할 총 샘플을 지정합니다. TensorFlow 백엔드의 batch_dot() 함수는 주로 두 개의 다른 배치 데이터의 곱셈 결과를 찾는 데 사용됩니다. 따라서 두 개의 텐서 변수 v1과 v2를 만들고 Input() 함수를 사용하여 v1과 v2에 입력으로 저장합니다. 그 후, 우리는 텐서 변수 v1과 v2 모두에 대해 batch_dot() 함수를 시도했고 결과 값은 다른 변수 'v3'에 저장됩니다. 변수 v3을 인쇄할 때 결과 모양(2,2)을 찾았습니다.

변수 기능

다른 언어로 작업한 적이 있다면 'var' 키워드를 사용하거나 사용하지 않고 많은 변수를 초기화했을 수 있습니다. 여러 번 정수, 문자열 또는 문자와 같은 데이터 유형으로 변수를 초기화했을 수 있습니다. Python Keras 라이브러리 내에서 샘플 형태의 일부 텐서 데이터에 대한 variable() 함수를 사용하여 모든 변수를 생성할 수 있습니다.

다음 이미지 내에서 샘플 2개 목록 데이터를 Keras 개체 'k'가 있는 variable() 함수에 추가하여 변수 'd'를 만들었습니다. 이 변수를 추가한 후 이 변수 ​​'d'에 대해 transpose() 함수를 호출하여 Keras 객체 'k'를 통해 그 안에 있는 샘플 데이터의 전치를 찾습니다. 결과 전치는 변수 'val'에 저장됩니다. Python 언어의 print 문은 여기서 'val' 결과 변수의 값을 인쇄하는 데 사용되었습니다. print 문은 변수 'd'에 적용한 함수의 선택과 각 목록의 총 요소 수를 표시하고 있습니다.

그 후, 변수 'd'에 추가된 샘플의 전치를 얻기 위해 'val' 변수에 대해 'eval' 함수를 시도했고 인쇄 함수가 이를 표시했습니다. 출력에서 두 목록의 전치를 볼 수 있습니다.

이전 코드 그림은 특정 Python 라이브러리를 가져오지 않고 간단한 Python 함수를 사용하여 달성했습니다. 두 데이터 세트의 '전치'는 NumPy 배열을 사용하여 찾을 수 있습니다. 이를 위해 처음에 NumPy 라이브러리를 'n'으로 가져와야 합니다. 기본 형식은 같지만 '변수' 키워드를 사용하는 대신 '배열' 키워드로 모양 데이터 세트를 초기화해야 합니다. 샘플 NumPy 배열은 변수 'd'에 다시 보관해야 합니다. 동일한 NumPy 객체 'n'은 'd' 변수에서 transpose() 함수를 호출하고 그 결과를 변수 'val'에 저장하는 데 사용됩니다.

print 문은 전치 텐서를 표시하기 위해 'val' 변수를 호출했습니다. 결과적으로 'val' 변수의 전치된 값을 표시하기 위해 여기서 'eval' 함수가 필요하지 않음을 알 수 있습니다. 이제 'd' 인수와 함께 변수 함수를 사용하고 결과를 변수 'z'에 저장했습니다. 인자 값 'z'를 추가하여 print 문을 시도한 후 위의 변수 예제에서 시도한 것과 동일한 이전 형식으로 출력을 표시했습니다.

Is_sparse() 함수

텐서의 '희소(sparse)'라는 단어는 대부분이 0인 항목을 포함하는 희소 텐서에 사용됩니다. 이 예제에서 백엔드 모듈의 is_sparse() 함수를 사용하여 텐서에 대부분의 0이 있는지 여부를 확인합니다.

먼저, Sparse 인수가 true로 설정된 상태에서 텐서 모양(3,3)을 유지하기 위해 placeholder() 함수를 호출했습니다. 이 자리 표시자 값은 변경 가능한 'x'로 유지되고 표시됩니다. 출력은 자리 표시자 변수 'x'에 대한 정보를 표시했습니다.

예를 들어 데이터 유형, 모양 및 기능이 적용됩니다. 그 후 우리는 그 안에 있는 is_Sparse() 함수를 호출하여 다시 한번 print 문을 시도했습니다. 이 함수는 'x' 텐서가 희소인지 여부를 표시하기 위해 변수 'x'를 인수로 사용했습니다. 출력은 'true'를 표시합니다.

To_dense() 함수

조밀한 텐서는 시간적 메모리 블록을 사용하여 정보를 인접한 방식으로 저장하고 정보의 값을 나타내는 텐서라고 합니다. 백엔드 모듈의 'to_dense()' 함수를 사용하면 희소 텐서를 고밀도 텐서로 변환할 수 있습니다. 따라서 우리는 텐서를 변수 'x'에 추가하기 위해 동일한 자리 표시자 함수를 사용하고 있으며 이 텐서는 '희소'로 설정되었습니다.

'to_dense()' 함수는 조밀한 텐서 변수 'x'에 적용됩니다. 즉, 조밀한 텐서로 변환하고 다른 변수 'res'에 저장합니다. 이제 'res'는 밀도가 높은 텐서 자체입니다. print 문은 'res' 변수를 출력하기 위해 캐스트 오프되었습니다. 'res' 변수에 대한 인쇄 문을 사용하면 'res' 변환 변수에 대한 정보가 표시됩니다.

그런 다음 is_sparse() 함수를 사용하여 다른 인쇄 함수를 호출하여 변수 'res'가 희소인지 여부를 확인합니다. 출력은 변수 'res'가 희소하지 않은 것으로 나타났습니다. 즉, 이미 'dense' 텐서로 변환했기 때문입니다.

Random_uniform_variable() 함수

Keras 백엔드 모듈의 random_uniform_variable() 함수는 균일 분포를 통한 텐서 초기화를 위해 특별히 설계되었습니다. 총 3개의 인수가 필요합니다. 첫 번째 인수인 'shape'는 튜플 형식 내에서 모양의 행과 열을 정의하는 데 사용됩니다. 수학을 했다면 평균과 표준편차의 개념을 배웠을 것입니다.

random_uniform_variable() 메서드에서 다음 두 인수는 균일 분포에서 평균과 일반적인 편차입니다. 이 그림에서 random_uniform_variable() 함수를 통해 표준 균일 분포를 사용하여 두 개의 텐서 'x'와 'y'를 초기화했습니다. 두 텐서 모두 다른 모양 형식, 즉 평균과 표준 편차가 같은 행과 열(낮음=0, 높음=1)을 포함합니다.

그런 다음 곱셈을 위해 'x' 및 'y' 텐서를 취하는 '점' 함수를 제거합니다. 이 곱셈의 결과는 변수 'z'에 저장됩니다. 결국 int_shape()는 결과 텐서 'z'의 모양을 표시하는 데 사용해야 합니다. 출력은 텐서(2,2)를 보여줍니다.

유틸리티

Python의 딥 러닝 개념에서 매우 유용한 기능 중 일부를 사용하려면 스크립트에서 Keras 라이브러리의 utils 모듈을 사용해야 합니다. 예를 들어 데이터를 HDF5Matrix 형식으로 표시하려면 HDF5Matrix 클래스를 가져와 스크립트에서 HDF5Matrix 함수를 사용해야 합니다.

To_categorical() 함수

이 함수를 사용하면 클래스 벡터를 행렬, 즉 이진 클래스 행렬로 수정할 수 있습니다. utils 모듈에서 to_categorical() 함수를 가져오고 벡터 'A'를 초기화했다고 가정해 보겠습니다. 벡터 'A'가 to_categorical() 함수에 전달되었습니다. 이 클래스 벡터 'A'에 대한 이진 행렬이 표시되었습니다.

print_summary() 함수

우리 환경에서 캐스팅한 모델의 요약을 인쇄하기 위해 print_summary 함수가 사용되었습니다.

plot_model() 함수

plot_model() 함수는 모델을 점 형식으로 나타내며 문서에 저장할 수 있습니다.

결론

요약하자면 파이썬 언어는 모든 것이 빠르게 발전하고 기술이 엄청나게 빠르게 발전하는 오늘날의 시대에 필요한 언어라고 말할 수 있습니다. 이 학습 가이드라인 전체에서 우리는 딥 러닝 및 인공 신경망에서 Python의 Keras 라이브러리를 사용했습니다. 이를 위해 백엔드 라이브러리 'TensorFlow'의 중요성과 사용을 살펴보고 명확한 이해를 얻었습니다. 또한 Ubuntu 20.04 Linux 운영 체제 내에서 Python으로 Keras 및 Anaconda 환경을 설정하는 데 필요한 모든 구성을 논의하고 설명했습니다. 그런 다음 Keras 모델, 레이어 및 모듈을 가장 많이 사용하는 기능과 함께 하나씩 철저히 논의했습니다. Function API 모델의 데모는 공식 문서를 확인하십시오.