TensorFlow on Raspberry Pi 3

라즈베리 파이3에 텐서플로우 설치에 성공한 깃허브를 소개해 드립니다. 라즈베리 파이에 텐서플로우를 설치하려면 깃허브에서 제공한 텐서플로우 바이너리를 pip로 설치해도 되고 직접 텐서플로우 소스에서 빌드하셔도 됩니다. 이 깃허브에서는 두가지 방식 모두 소개를 하고 있습니다.

또 텐서플로우에 있는 인셉션 모델(Inception-v3)을 이용하여 맥북과 라즈베리 파이의 성능을 벤치마크한 결과도 공유해 주고 있습니다. 벤치마크는 파이썬은 판다곰 이지지를 분류하는 텐서플로우 예제를, C++ 버전은 그레이스 호퍼 이미지를 사용하는 텐서플로우 예제를 약간만 수정하여 거의 그대로 사용했습니다.

tensorflow-raspberry-benchmark

출처: 깃허브 레파지토리

C++ 예제는 라즈베리 파이와 맥북이 큰 차이가 나지 않는 점이 눈에 뜨입니다. 하지만 파이썬 예제의 경우 라즈베리 파이에서는 매우 느려서 사용하기 어려울 것 같습니다.

Dan Brickley는 라즈베리 파이에 설치된 텐서플로우를 이용해서 카메라에 잡힌 이미지를 인식하는데 성공했다고 합니다. coffee pot를 인식한 메세지가 보입니다. 물론 다소 느리다고 합니다(30여초).

테스트 결과에 대해서 깃허브에 업데이트 내용이 있으면 다시 공유하도록 하겠습니다.

TensorFlow on Raspberry Pi 3”에 대한 3개의 생각

  1. ParkDyel

    감사히 잘 읽었습니다.
    괜찮으시다면 질문을 하나 드릴려고 합니다.
    python은 pip로 설치하여 실행만 해보았는데, C++로 사용할려고 하는 경우 어떤 방식으로 설치하고 접근해야할지 잘 모르겠습니다. 혹시 어떤 방식인지 여쭤봐도 될까요?

    Liked by 1명

    응답
    1. 로드홈 글의 글쓴이

      제가 라즈베리파이나 텐서플로우 C++ API 에 대해 잘 알지 못해 정확한 답을 못드리는 점 이해부탁 드립니다.^^
      위 깃허브에 가니 C++ 벤치마킹 소스가 삭제되었는데 어떤 이유인지 잘 모르겠습니다. 커밋 히스토리를 보니 텐서플로우 1.0 버전 업데이트가 적용되면서 C++ 소스를 삭제했습니다. 이전 커밋 히스토리를 보면 이전 벤치마킹 파인 main.cc 를 확인할 수 있습니다.(https://github.com/samjabrahams/tensorflow-on-raspberry-pi/tree/54ef07cd3bb4fb362fe86944c0d6f9a3dba8deda/benchmarks/inceptionv3)
      하지만 텐서플로우 1.0 버전에는 그대로 인셉션 테스트가 유지되어 있습니다.(https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/label_image) 아마 1.0 버전이 되면서 C++ 소스를 라즈베리 파이에 포팅하는 것에 어떤 문제가 되었던지 아니면 텐서플로우 깃허브의 소스를 그대로 사용하면 되기 때문이지 않을까 합니다.
      텐서플로우의 label_image 소스에 대한 설명은 텐서플로우 사이트에서 볼 수 있습니다(https://www.tensorflow.org/tutorials/image_recognition#usage_with_the_c_api).
      보통 임베딩 환경 같이 특수한 경우가 아니면 파이썬 API를 사용하는게 권장되고 있습니다. 아마 풀고자 하는 문제에 관련된 C++ 예제를 찾아보기가 힘드실 것 같아요.
      도움이 되셨을지 모르겠네요. 🙂

      좋아요

      응답

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중