본문 바로가기

protocol buffer

Protocol Buffer 실습 2 역직렬화(Deserialization)를 통해 EXAMPLE.pb에서 데이터를 추출하는 방법에 대해 알아보자. [ read.py ]123456789import EXAMPLE_pb2 handson = EXAMPLE_pb2.HandsOn() with open('EXAMPLE.pb', 'rb') as f: serialized = f.read() handson.ParseFromString(serialized) print(handson) cs Line 1 : 마찬가지로 뼈대를 갖고 있는 EXAMPLE_pb2.py를 import 해줘야 한다. 그래야 이 뼈대에 맞춰서 deserialized data를 재분배할 수 있기 때문이다. Line 6 : 직렬화된 형태로 저장된 데이터를 읽는다. Line 7 : 읽은 데이터를.. 더보기
Protocol Buffer 실습 1 protocol buffer를 사용해 객체를 .pb 파일로 저장하는 과정까지 이번 글을 통해 알아보겠다. 구글에서 이렇게 써! 라고 지정해서 배포한 거라 앞으로의 과정에 대해 '왜 이걸 쓰는 거지?' 내지는 '왜 이렇게 하는 거지?' 와 같은 의문은 안 갖는 것이 좋다. 1. 객체의 뼈대 생성 먼저 저장하고자 하는 객체의 뼈대에 대한 정보를 갖는 EXAMPLE.proto를 protocol buffer 폴더를 새로 만들어 안에 저장해주자. [ EXAMPLE.proto ]1234567syntax = "proto3"; message HandsOn{ string name = 1; string type = 2; float value = 3;} cs HandsOn객체는 string형 2개, float형 1개의 데이.. 더보기
Protocol Buffer 개념 Tensorflow Object Detection API를 공부하다 protocol buffer라는 처음 보는 용어를 접하게 됐다. 개념 파악을 위해 이곳저곳 살펴보며 공부했던 내용을 짧막하게 정리해보고자 한다. Protocol Buffer ? CSV, XML, JSON 등과 같이 여러 직렬화 방식 중 하나로 구글에서 개발한 이진 직렬화 방식 여기서 직렬화(serialization)는 객체 저장을 위한 데이터 저장 방법이라 생각하면 된다. 저장 뿐 아니라 불러오는 관점에서도 직렬화 (및 역직렬화)는 데이터를 다루는 측면에서 간단하고 효과적이기 때문에 사용되는 것 같다. 차이점이라면, Protocol Buffer는 다른 직렬화 방식들과는 다르게 조금 복잡한 흐름을 갖는다. 다음 글에서 실습을 통해 어떤 차.. 더보기
1.1. Tensorflow Object Detection API 다운로드 및 환경설정 다운로드부터 해보자 Object Detection API를 다운받을 수 있는 공식 사이트는 여기이다. Object Detection API에 관한 것만 있는 게 아니고 별 게 다 있다. 그래서 우리가 사용할 것들만 따로 빼내줘서 사용하는 게 깔끔하다. 우리는 1) ./research/object_detection 폴더와 2) ./research/slim 폴더가 필요하다. slim이 필요한 이유는 object_detection에서 ./research/slim/deployment와 ./research/slim/nets을 가져다 사용하기 때문이다. ※ object_detection만 가져다 실행하면 deployment나 nets가 없다는 에러를 만나게 되니 필히 같이 빼내줘야한다. 이제 오른쪽 상단의 [ Cl.. 더보기