Serialization(직렬화)

ingsol·2023년 1월 15일
0

PyTorch

목록 보기
8/8

파이썬 객체를 일정한 규칙(규약)을 따라서 (a)객체를 전달하기 위해 그 구성요소들을 한 줄의 바이트로 줄세운다(직렬화, 인코딩). (b)그리고 줄 세운 데이터를 스트림(파일이나 네트워크)을 통해 전달한다. (c)스트림을 통해 전달받은 바이트화된 객체를 다시 원래의 형태로 되돌린다(역직렬화, 디코딩).

파일은 저장하거나 전달할 때 직렬화가 필요한 이유는?
파일이나 네트워크를 통해 데이터가 왔다갔다하는 길(스트림)은 데이터가 한번에 한 바이트씩밖에 통과할 수 없는 아주 좁은 통로이다. 하지만 객체화 되어있는 데이터는 입체적인 구조로 되어있어서 이 좁은 통로를 통과할 수 없다. 그렇기 때문에 데이터가 스트림을 통해 통신이 가능하도록 한 줄로 줄세우는 작업이 필요한 것이다.

또한,
어떤 데이터를 맨 앞에 줄세우고 ,어떤 데이터를 그 다움에 세울지 일련의 순서를 정하는 규칙이 존재한다. 직렬화 방식 중에는 pickle, JSON, YAML, CSV 등 여러가지 방법이 있다.

0개의 댓글