이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

무게 클러스터링

팔 ML 공구에 의해 관리

이 문서는 당신이 그것을 사용 사례 함께 사용되는 방식을 결정하는 데 도움이 체중 클러스터링에 대한 개요를 제공합니다.

개요

클러스터링, 또는 무게 공유, 배포를위한 혜택으로 이어지는, 모델에 고유 한 가중치의 수를 줄일 수 있습니다. 이는 그룹이 제 N의 클러스터로 각 층의 중량은, 그 클러스터에 속하는 모든 무게에 대한 클러스터의 중심 값을 공유한다.

이 기술은 모델 압축을 통해 개선 사항을 제공합니다. 미래 프레임 워크 지원은 제한된 자원을 가진 임베디드 시스템에 깊은 학습 모델을 배포하기위한 중요한 차이를 만들 수 있습니다 메모리 풋 프린트 향상 잠금을 해제 할 수 있습니다.

우리는 비전과 음성 작업을 통해 클러스터링을 실험했다. 에 의해 입증 된 바와 같이 우리는 정확도의 손실을 최소화 모델 압축의 5 배 향상까지 본 적이 결과를 아래에 제시.

제발 참고 클러스터링 당 축 훈련 후 양자화 배치 정상화 층뿐만 아니라의 조합을 앞에 회선 및 조밀 한 층에 대한 감소 혜택을 제공 할 것입니다.

API의 호환성 매트릭스

사용자는 다음 API를 사용하여 클러스터링을 적용 할 수 있습니다 :

  • 모델 건물 : tf.keras 순차 및 기능 모델
  • TensorFlow 버전 : 버전에 대한 TF 1.x에서 1.14 이상 및 2.x 또는 3.0
    • tf.compat.v1 TF의 2.X 패키지와와 tf.compat.v2 TF의 1.X 패키지는 지원되지 않습니다.
  • TensorFlow 실행 모드 : 그래프 열망 둘

결과

이미지 분류

모델 실물 클러스터
상위 1 정확도 (%) 압축 .tflite의 크기 (MB) 구성 클러스터 # 상위 1 정확도 (%) 압축 .tflite의 크기 (MB)
MobileNetV1 71.02 14.96
선택적 (마지막 3 Conv2D 층) 256, 256, 32 70.62 8.42
전체 (모든 Conv2D 층) (64) 66.07 2.98
MobileNetV2 72.29 12.90
선택적 (마지막 3 Conv2D 층) 256, 256, 32 72.31 7.00
전체 (모든 Conv2D 층) (32) 69.33 2.60

모델은 훈련 ImageNet에서 테스트되었다.

키워드 스포팅

모델 실물 클러스터
상위 1 정확도 (%) 압축 .tflite의 크기 (MB) 구성 클러스터 # 상위 1 정확도 (%) 압축 .tflite의 크기 (MB)
DS-L-CNN 95.03 1.5 완전한 (32) 94.71 0.3

모델은 훈련 SpeechCommands의 v0.02에서 테스트되었다.

  1. .h5 파일에 Keras 모델을 직렬화
  2. 사용 .tflite에 .h5 파일 변환 TFLiteConverter.from_keras_model_file()
  3. 우편으로 .tflite 파일을 압축

받는 사람 또한 Keras 예에서 무게 클러스터링 , 다음의 예를 참조하십시오 :

  • MNIST 필기 자리 분류 데이터 세트에서 훈련을받은 CNN 모델의 가중치를 클러스터 : 코드를

양자화 및 허프만 코딩 훈련 압축, 깊은 신경망으로 가지 치기 : 무게 클러스터링 구현은 깊은 압축을 기반으로 종이를 . 페이지의 제 3 장, 양자화 및 무게 공유를 훈련 제목.