해결된 질문
작성
·
1.5K
·
수정됨
0
강의 4:53 에 나오는 from_pretrained 함수에 관한 질문입니다.
공식 문서를 아무리 찾아봐도, 더 미궁 속으로 빠지는 듯한 느낌만 들어서(...) 질문 올립니다.
from_pretrained 메소드는 huggingface에서 제공하는 그 어떠한 클래스에도 공통적으로 적용이 가능한 것인지 궁금합니다.
공식 문서에서 from_pretrained를 검색해본 결과, 각 검색 페이지마다 from_pretrained의 파라미터가 다르게 나오고, 그에 대한 설명조차도 찾을 수가 없었습니다...
예를 들어, FeatureExtractionMixin 의 from_pretrained 메소드의 파라미터는 9개인 반면, AutoTokenizer의 from_pretrained 메소드의 파라미터는 13개 라고 서술되어 있는 경우를 볼 수 있었습니다.
또한, 강의에서 사용하였던
feature_extractor = ViTFeatureExtractor.from_pretrained("google/vit-base-patch16-224-in21k")
feature_extractor
이 코드와,
model = ViTForImageClassification.from_pretrained('google/vit-base-patch16-224-in21k',
num_labels=10, # 10개의 클래스로 분류를 해야 함
id2label=id2label,
label2id=label2id)
이 코드에서도 역시 from_pretrained 메소드가 사용되었는데,
공식 문서에서 ViTFeatureExtractor와 ViTForImageClassification을 아무리 찾아보아도 from_pretrained 메소드에 관한 설명은 볼 수가 없었으며, 각각의 경우에 적용되는 파라미터에 관한 내용 역시 찾아볼 수 없었습니다.
이런 경우, 다른 코드에 from_pretrained 메소드를 적용할 때에는 해당되는 내용을 어떻게 찾아야 하는 것인지 궁금합니다.
답변 1
0
안녕하세요. 답변도우미입니다.
from_pretrained
메소드는 Hugging Face의 Transformers 라이브러리에서 모델과 토크나이저를 불러올 때 주로 사용됩니다. 이 메소드는 다양한 클래스에서 사용할 수 있지만, 모두 공통적으로 적용되는 것은 아닙니다. 대부분의 사전 학습된 모델 및 토크나이저 클래스에서 사용할 수 있습니다.
예를 들어, 다음과 같은 모델 및 토크나이저 클래스에서 from_pretrained
메소드를 사용할 수 있습니다:
BertModel
BertTokenizer
GPT2Model
GPT2Tokenizer
T5Model
T5Tokenizer
RobertaModel
RobertaTokenizer
등등 다양한 모델과 토크나이저에 대해 사용할 수 있습니다. 하지만 Hugging Face의 모든 클래스에 공통적으로 적용되는 것은 아니며, 일부 특정 클래스에서는 사용할 수 없을 수 있습니다. 주로 사전 학습된 모델과 토크나이저에 대해 사용 가능합니다.
다음으로 Hugging Face 공식 문서에서 특정 클래스의 from_pretrained
메소드에 대한 정보를 찾지 못한 경우, 다음 방법들을 시도해 볼 수 있습니다만, 생각보다는 저희가 생각하는대로, 잘 설명이 되어 있지는 않습니다.
GitHub 저장소 확인: Hugging Face Transformers의 GitHub 저장소에서 해당 클래스에 대한 구현 코드를 찾아보세요. 코드 내에 주석이나 사용 예시가 있을 수 있습니다. 예를 들어, ViTFeatureExtractor
와 ViTForImageClassification
클래스의 코드를 살펴보려면, 다음 링크를 확인하십시오: ViTFeatureExtractor, ViTForImageClassification.
예제 코드 검색: Hugging Face 공식 문서 외에도, 해당 클래스를 사용한 예제 코드를 찾아보세요. GitHub 저장소에서 제공하는 예제 코드나 다른 사용자가 작성한 블로그, 튜토리얼 등에서 유용한 정보를 얻을 수 있습니다.
Hugging Face 포럼 이용: Hugging Face에서는 사용자들이 질문을 하고 답변을 받을 수 있는 포럼을 운영하고 있습니다. 여기에서 비슷한 질문이 있는지 검색해보거나, 새로운 질문을 작성하여 도움을 요청할 수 있습니다.
공식 문서의 다른 부분 참조: 때로는 클래스에 대한 from_pretrained
정보가 클래스 별로 설명된 부분이 아닌, 다른 문서의 일반적인 부분에 포함되어 있을 수 있습니다. 따라서, 전체 문서를 검색하거나, 검색 기능을 이용해 관련 정보를 찾아보세요.
소스 코드를 직접 확인: 필요한 경우, 직접 Hugging Face Transformers 라이브러리의 소스 코드를 확인하여 관련 메소드나 클래스의 동작 방식을 이해할 수 있습니다. 이를 통해, 어떤 파라미터가 필요한지, 어떻게 사용되는지 등에 대한 정보를 얻을 수 있습니다.
감사합니다.