파이토치(Pytorch) 6. Custom Dataset

Поделиться
HTML-код
  • Опубликовано: 24 сен 2024

Комментарии • 15

  • @이종진-i4n
    @이종진-i4n 5 лет назад +1

    안녕하세요 김군이님.
    항상 도움이 많이 되는 영상 감사합니다.
    4번과 같이 torchvision.dataset.ImageFolder로 사용하여 디렉토리 별 label을 지정하는것을 항상 사용해왔었습니다.
    그런데 혹시 디렉토리의 데이터 개수가 100개인데 앞의 80개만 가져오는 방법은 따로 customize 해야 것인가요?
    classes, class_to_idx = find_classes(root)
    이 부분에서 find_classes는 내부 함수 인가를 여쭙고 싶네요
    make_dataset도 마찬가지구요.

  • @helloworld-tx4sp
    @helloworld-tx4sp 5 лет назад

    아주 훌륭하십니다.!! 정말 도움 많이 되었네요.

  • @MrPhilLIND
    @MrPhilLIND 5 лет назад

    안녕하세요. 혹시 sampler 질문 드려도 될까요? 여러 코드에서 보면 DataLoader에 sampler를 argument로 넣는 걸 보았습니다. sampler class를 찾아보니까, __init__, __len__, __iter__ 로 구성되어서, 우서는 dataloader의 shuffle을 대신해서 어떤 data를 샘플로 batch size 만큼 dataloader로 넘길지에 대한 정보(?)를 주는 클래스 정도로만 이해하고 있는데, 이게 맞는지 잘 모르겠습니다.

  • @맥그슨
    @맥그슨 5 лет назад

    안녕하세요 김군이님
    변수안에들어있는 이미지를 데이터를 흑백으로바꾸거나 로테이션해보거나 다양한 agumentation을 해볼려고하는데요
    trainset1 = torchvision.datasets.CIFAR10(root='C:\Temp./data',train=True,download=True,transform=transform1) 예를들어이런식으로
    Cifar10 전체데이터에대한 transform이나
    만약 토치비젼 이미지폴더를사용하면 그이미지폴더전체에대한 transform 이던데
    그냥 변수안에있는 데이터셋을 자유자제로
    변수안의 특정부분만 인덱싱해서 흑백변환하거나 여러가지 전처리?? 등등을 해볼수는없을까요?

    • @김군이-u6v
      @김군이-u6v  5 лет назад

      안녕하세요 인공지능님!!
      흑백으로 바꾸는 기능과 로테이션 기능은 transform에서 지원을 하고 있으니 찾아보시면 금방 적용 하실 수 있을겁니다 .
      그리고 다음질문에 특정부분만 인덱싱해서 흑백변환하거나 여러가지 전처리 등등을 해볼수는 없을까요?
      라는 질문에 대해서는 다음과 같이 생각합니다.
      pytorch는 PIL library를 기반으로 만들어져 있습니다. 따라서 pytorch transform에서 지원하지 않는다면 원하시는 형태의 연산을 torchvision.transforms에 function을 추가하여 진행해주시면 됩니다.
      transforms에 넣으시면 단일 이미지에 적용되는 연산형태로 적으시면되고 그 내용이 자동으로 전체 이미지에 적용되는 것이기 때문에 한번 추가해보시면 금방 하실 수 있을겁니다!
      파일의 위치는 이미 아시겠지만 쉽게 확인하는 법을 말씀드리면
      커맨드 창에서
      >>>import torchvision
      >>>torchvision

  • @기계쟁이-d3t
    @기계쟁이-d3t 6 лет назад

    CIFAR10 과 같은 퍼블릭 데이터에서 특정 개수, 가령 3개의 class 데이터로만 trainset을 구성하고싶습니다.
    그런데, torchvision.datasets.CIFAR10을 이용하면 class 10개가 불러오게 되는데, CIFAR10 함수를 상속받아 제가 커스텀 하는게 맞을까요? 아니면 torchvision.datasets.CIFAR10을 이용해 trainset을 불러온 후, 3개의 클래스만 따로 인덱싱하는게 맞을까요?
    혹시 좋은 의견 있으면 답변 부탁드립니다.

    • @맥그슨
      @맥그슨 5 лет назад

      저는 Cifar10에서 개,고양이 데이터만 뽑은적이있습니다.
      모든 10클래스 데이터를 불러낸후 그데이터만큼 반복문을돌리고 원하는 라벨값이 있을때 그떄당시의 image랑 label값을 어떤변수에 저장하는방식으로했습니다.

  • @shingookang6396
    @shingookang6396 6 лет назад

    감사합니다 덕분에 도움이 많이 됐습니다
    혹시 zip 이나 gz 압축파일로 데이터셋을 만드는 방법도 있나요??

    • @김군이-u6v
      @김군이-u6v  6 лет назад

      cifar-10도 압축파일을 받아서 처리하는데 8분 35초대에 나오는 우측하단을 보시면 어떤형식으로 진행되는지 감이 오실꺼라 생각합니다.
      cifar-10은 download function으로 압축파일을 다운받아서 압축파일을 열고 압축을 푼 다음에 이어서 진행하는 모습을 볼 수 있는데
      실제로 다운로드 파일을 가지고 계신것이라면 __init__ function 단에서 해결하시거나
      특정 상황에서 압축을 해제하고자 하신다면(=만약 ~~한다면 압축을 해제해서 데이터셋을 구성해라)
      위 cifar-10의 경우처럼 별도의 함수를 구성해서 진행하는 방법을 생각해보는 것이 좋을 것 같습니다.

  • @Justicehand1999
    @Justicehand1999 3 года назад

    감사합니다 ㅠㅠㅠㅠㅠㅠ

  • @하민호-o9z
    @하민호-o9z 6 лет назад

    이미지 파일과 레이블 파일은 어떤 형태인가요??

  • @꾸꾸-w6r
    @꾸꾸-w6r 6 лет назад

    좋ㅅ브니다.

  • @하민호-o9z
    @하민호-o9z 6 лет назад

    현재 train dataset .png 10만장 test dataset .png 2만장이 있고 label은 100개 입니다.

    • @김군이-u6v
      @김군이-u6v  6 лет назад +1

      사진을 기반으로 하시는 거라면 4번 영상을 보시는게 좋을 것 같습니다. 100개의 label에 맞춰서 폴더를 만드시고 분류해서 폴더에 넣으 후에 torchvision에서 제공하는 Imagefolder 를 이용해서 데이터로더를 만드시면 금방 해결 하실수 있습니다. 요즘 바빠가지고 잘 못들어와서 다음영상도 못만들고 있는데 ㅠㅠ 답변이 늦어 죄송합니다. 해결은 하셨는지요? 문제되는 부분 있으시면 말씀해주시면 도와드리겠습니다~!

    • @김군이-u6v
      @김군이-u6v  6 лет назад +1

      해당 내용이 4번영상 15분 후반부터 나오는데 이해를 하시기 위해서는 전부 다 보시는걸 추천 드립니다! 이해안되시면~~~~ 어... 여기 메일주소를 남겨주시면 제가 메일을 보내도록 하겠습니다~!!