
818
2
부
신경망과 딥러닝
산의 입출력 텐서 크기 추정, 장치마다 가용한
RAM
용량, 장치에 데이터를 입출력할 때 발생
하는 통신 지연, 사용자가 지정한 힌트나 제약 사항 등을 고려합니다. 실전에서 이 알고리즘은
사용자가 지정한 배치
placement
규칙 몇 개보다 덜 효율적입니다. 이 때문에 텐서플로 팀은 동적
배치자를 삭제했습니다.
즉
tf
.
keras
와
tf
.
data
는 일반적으로 연산과 변수를 적절히 잘 배치합니다(예를 들어,
GPU
에
는 연산량이 높은 것을 배치하고
CPU
에는 데이터 전처리를 배치합니다 ). 하지만 상세하게 제
어하고 싶다면 수동으로 각 장치에 연산과 변수를 배치할 수도 있습니다.
•
방금 언급한 것처럼 일반적으로 데이터 전처리를
CPU
에 배치하고 신경망 연산은
GPU
에 배치합니다.
• GPU
는 보통 통신 대역폭에 제약이 많습니다. 따라서
GPU
입출력으로 불필요한 데이터 전송을 피하는
것이 중요합니다.
• CPU
RAM
을 머신에 추가하는 것은 간단하고 저렴해서 일반적으로 넉넉하게 사용합니다. 반면
GPU
RAM
은
GPU
에 고정되어 있습니다. 비싸고 제한된 자원이기 때문에 다음 훈련 스텝 몇 번에서 어떤 변수
가 필요하지 않다면 아마
CPU
에 배치해야 할 것입니다 (예를 들면, 데이터셋은 일반적으로
CPU
에 놓입
니다 ).
기본적으로 ...