• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

질문있어서 글 올립니다.

21.07.20 21:20 작성 조회수 160

0

dataset.py에서 dataset을 load 후 filter를 통해 특정 label의 data만 필터링 하는 과정에서

filter의 인자로 predicate함수를 정의할 때

predicate의 인자로 받는 x는 dataset으로 이해했습니다.

그런데 predicate의 return값은 bool 타입이여야 하고, return값이 True일때 x가 필터를 통과하는 방법으로 label 7만 정제해서 dataset을 할당하는 방법을 사용하셨는데

여기서 x는 모든 class label을 담고 있는 dataset이 아닌가요?   predicate의 return값이 단순 True일 뿐인데 어떻게 x에서 label 7만 정제가 되는 건가요?

혹시 x는 전체 dataset중, 각 class에 따라 분류된 dataset을 인자로 차례로 가져오는건가요? 

label 1 dataset -> label 2 dataset -> ... -> label 20 dataset 이런 방식으로요

답변 1

답변을 작성해보세요.

1

안녕하세요~. 반갑습니다.

tfds 의 filter 함수는 전체 데이터를 순회하면서 predicate가 True인 조건만 만족하는 데이터만을 반환해주는 기능을 가지고 있습니다. 따라서 filter함수 호출 이후에 predicate 조건이 True인 데이터만 반환되게 됩니다.

좀더 자세한 내용은 아래 링크를 참조하세요~.

https://www.tensorflow.org/api_docs/python/tf/data/Dataset#filter

감사합니다.

감사합니다!