파이썬3 노트

torchtext: example 속 들여다보기

Jonchann 2018. 12. 31. 16:24

torchtext를 쓰다보면


from torchtext.data import Dataset, Example, Field, Iterator, LabelField, NestedField, RawField

class Anything(Dataset):
    def __init__(self, *arg, fields, filter_pred=None):
        examples = []
        ...
        super(Anything, self).__init__(examples, fields, filter_pred)


examples라는 것을 볼 수 있는데(물론 오브젝트형은 달리도 엄청 많지만) examples 속에 어떻게 내용이 들어가 있는가 확인하기 위해서는

print(examples[-1].__dict__)

라는 식으로 안을 들여다 볼 수 있다. 파이썬은 기본적으로 사전형으로 오브젝트를 저장하기 때문이다.



참고로 torchtext는 Field 정보를 통해 처리한 정보는 튜플 형으로 저장되기 때문에

data, = Anything.iters( ... )

라는 식으로 불러와야 한다.

(여기서 iters는 정해진 함수 명은 아니고 Field 정보를 지정해 정보를 보존하는 역할을 하는 함수 이름이다)


data 속에 있는 정보를 활용하고 싶을 때에는

data.dataset.field[' ... ']

로 불러와 사용하면 된다. '...'는 examples 속 key의 이름이다.