TensorFlow에서 신경망을 사용하여 실험을하고 있습니다. 최신 버전의 릴리스 노트에 따르면 DataSet은 앞으로 입력 데이터를 제공하기 위해 권장되는 API입니다.DataSet은 입력 값의 범위를 정규화합니다.
일반적으로 외부 세계에서 숫자 값을 가져 오는 경우 값 범위를 정규화해야합니다. 길이, 질량, 속도, 날짜 또는 시간과 같은 원시 번호를 연결하면 결과로 발생하는 문제가 악화됩니다. 값의 동적 범위를 확인하고 범위 (0,1) 또는 (-1,1)로 정규화해야합니다.
물론 원시 Python으로 처리 할 수 있습니다. 그러나 DataSet은 많은 데이터 변환 기능을 제공하며 결과 코드가 유지 관리가 쉬울뿐만 아니라 더 빨리 실행된다는 이론에 따라 사용을 권장합니다. 이는 정규화를위한 기본 제공 기능이 있어야 함을 의미합니다.
그러나 https://www.tensorflow.org/programmers_guide/datasets에있는 문서를 살펴보면 그런 언급이 없습니다. 내가 놓친 게 있니? 이를 위해 권장되는 방법은 무엇입니까?
전체 데이터 집합이나 각 요소 내에서 정규화하려고합니까? 각 요소 안에는'dataset.map'을 사용하는 것이 쉬워야합니다. 그러나 값이 가질 수있는 최대 값과 최소값을 미리 알지 못한다면 전체 데이터 세트에서 쉽게 할 수있는 방법을 생각할 수 없습니다. – Sunreef
@Sunreef 맞습니다. 실제로 발생하는 모든 값을보기 전에 어떻게해야할지 모를 방법이 없기 때문에 데이터 집합 전체에 걸쳐 있어야합니다. – rwallace
@nwallace Tensorflow 지연로드를 사용하면 전 데이터 세트를 반복하고 최대 및 최소를 추출한 후 전처리 단계를 추가하지 않으면 모든 값에 액세스 할 수 있는지 확신 할 수 없으며 두 번째 단계에서이 정보를 사용합니다 훈련 할 때. 그러나 당신은 정상적인 Numpy를 사용하여 이러한 가치를 얻는 것이 나을 것입니다. – Sunreef