02 Aug

dnnregressor 예제

가져오기 전에 사용 가능한 장치를 확인하는 것을 선호합니다. 이 예제에서는 CPU를 사용했습니다. 사용해야 하는 장치가 감지되었는지 확인하는 것은 항상 흥미롭습니다. 나는 이미 GPU를 사용해야했지만 구성이 잘 수행되지 않았고 감지 된 장치가 옳지 않은 경우에 있었습니다. 많은 계산 능력이 필요할 때 문제가 됩니다(예: 텍스트 음성 변환, 이미지 인식 등). 분류자 학습 및 유효성 검사에 사용되는 데이터 집합에는 Maple의 DataFrame 유형이 있습니다. 유방 질량의 악성/양성 예측 예에서 교육 세트는 “ID 번호”, “진단”, “반지름”, “질감” 등열 레이블이 있는 총 32개의 열이 있는 DataFrame입니다. 나중에 신경망에서 어떤 기능 열이 어떤 값 목록에 해당하는지 식별해야 하므로 데이터 집합의 열에 레이블을 지정하는 것이 필수적입니다. DNNClassifier를 만들 때 기능 열(입력 계층), 신경망 아키텍처(숨겨진 레이어) 및 클래스 수(출력 계층)를 지정해야 합니다. DNNClassifier는 피드포워드 다층 신경망을 구축하므로 함수를 호출할 때 원하는 숨겨진 레이어 수와 각 계층에 있어야 하는 노드 수를 표시해야 합니다. 이 작업은 함수를 호출할 때 비음수 정수 목록을 매개 변수 hidden_units로 전달하여 수행됩니다. 예제에서는 yield_single_example: false인 경우 일괄 처리를 개별 요소로 분해하는 대신 model_fn에서 반환된 전체 일괄 처리를 산출합니다.

이는 model_fn이 첫 번째 차원이 배치 크기와 같지 않은 일부 텐서를 반환하는 경우에 유용합니다. 텐서는 텐서플로우의 데이터 중심 단위입니다. 텐서가 숫자 배열과 비슷하며 개념적으로 행렬의 n차원 추상화로 생각할 수 있습니다. 0차원 텐서는 스칼라 또는 상수입니다. 1차원 텐서가 목록 또는 벡터입니다. 2-D 텐서n = 행 및 m = 열이 있는 n x m 행렬과 동일합니다. 그 위에 우리는 단지 N 차원 텐서를 말할 수 있습니다. 예를 들어, a = 3 (0 차원 텐서 또는 스칼라로 처리)a = [3,5] (1D 텐서 또는 벡터로 처리)a = [[3,5],[1,1]] (2D 텐서 또는 매트릭스로 처리) 하나의 핫 표현에서 우리는 n 차원 부울 벡터로 각 범주형 인스턴스를 대체 기능의 범주 수 의 크기와 1과 0으로 각 범주의 존재와 부재를 표시합니다.

예를 들어 두 가지 범주 {남성, 여성}으로 “성별”이라는 기능이 있는 경우 “남성”을 볼 때마다 [1,0] 벡터로 대체하고 “여성”을 볼 때마다 벡터 [0,1]로 바꿉니다. 이러한 텐서에 계산을 수행하는 작업에 전달됩니다. `작업`은 일반적으로 `op`로 알려져 있습니다. 연산은 입력으로 0개 이상의 텐서를 취하고, 그들과 함께 계산을 수행하고, 0 개 이상의 텐서를 출력합니다. 예를 들어 tf.add와 같은 연산은 두 개의 입력 3과 5를 취하고 합계 8을 출력할 수 있습니다. 추가 자산은 assets_extra 인수를 통해 SaveModel에 기록될 수 있습니다. 각 키가 assets.extra 디렉터리와 관련된 대상 경로(파일 이름 포함)를 제공하는 dict이어야 합니다.