Closed raki-1203 closed 2 years ago
이번엔 브랜치를 이니셜로 해버렸는데 다음번엔 기능으로 잘 해볼게요!
너무 많은 곳을 바꿔서 이해하시는데 오래걸리실 수도 있고 저도 시작을 어떻게하면 좋을까 고민하다가 1기 캠퍼 코드 와 transformers github 참고하면서 베이스라인과 동일한 기능을 하도록 변경했습니다.
바뀐 부분들을 정리하자면
기존 Trainer 를 pytorch 를 사용해서 하나하나 구현했던 것처럼 train_mrc() 함수로 구현했습니다.
이 과정에서 코드로 길게길게 적혀있던 부분들을 함수로 분리해서 utils_qa.py 로 옮겼습니다.
data 를 불러오는 함수에서는 data_processing.py 라는걸 새로 만들어서 전처리하는 class 하나 새로 구현되어있어요
기본적인 사용방법을 적어 놓을게요!
main() 함수에는 project_name, model_name_or_path 를 인자로 받아요
train.py 실행하실 때 들어가는 여러 인자들이 있는데 제가 사용할 것들만 추려놨어요
그리고 command line 으로 실행할 경우
python train.py --output_dir ./models
이렇게 입력으로 주면 기본 모델이 돌아갑니다.
training_args.output_dir 을 ./models 로 주었지만 project_name 이랑 model_name_or_path 를 같이써서 다시 training_args.output_dir 에 할당해줘요 그래서 폴더구조가 이렇게 나올거에요
여기에는 기존 train.py 를 엄청 길게 만들던 prepare_train_features, prepare_validation_features 등 함수가 들어있고 dataset 을 만드는 함수들이 class 로 구현되어있어요!
여기에는 잡다한 함수들이 다 들어있어요!
mrc 와 관련한 함수들은 utils_qa.py 로 옮겼고 retrieval 과 관련한 함수들은 utils_retrieval.py 로 옮겼어요!
use_pretrained_model : 이 인자는 새로 만든건데 get_models() 함수에서 볼 수 있어요 기본값이 False 로 되어있어요 나중에 custom model 을 만들 경우 사용할 수 있을것 같아요
여기도 Trainer 안쓰고 inference() 함수 만들어서 prediction 파일 저장
이번엔 브랜치를 이니셜로 해버렸는데 다음번엔 기능으로 잘 해볼게요!
너무 많은 곳을 바꿔서 이해하시는데 오래걸리실 수도 있고 저도 시작을 어떻게하면 좋을까 고민하다가 1기 캠퍼 코드 와 transformers github 참고하면서 베이스라인과 동일한 기능을 하도록 변경했습니다.
바뀐 부분들을 정리하자면
기존 Trainer 를 pytorch 를 사용해서 하나하나 구현했던 것처럼 train_mrc() 함수로 구현했습니다.
이 과정에서 코드로 길게길게 적혀있던 부분들을 함수로 분리해서 utils_qa.py 로 옮겼습니다.
data 를 불러오는 함수에서는 data_processing.py 라는걸 새로 만들어서 전처리하는 class 하나 새로 구현되어있어요
기본적인 사용방법을 적어 놓을게요!
main() 함수에는 project_name, model_name_or_path 를 인자로 받아요
train.py 실행하실 때 들어가는 여러 인자들이 있는데 제가 사용할 것들만 추려놨어요
그리고 command line 으로 실행할 경우
python train.py --output_dir ./models
이렇게 입력으로 주면 기본 모델이 돌아갑니다.
training_args.output_dir 을 ./models 로 주었지만 project_name 이랑 model_name_or_path 를 같이써서 다시 training_args.output_dir 에 할당해줘요 그래서 폴더구조가 이렇게 나올거에요
여기에는 기존 train.py 를 엄청 길게 만들던 prepare_train_features, prepare_validation_features 등 함수가 들어있고 dataset 을 만드는 함수들이 class 로 구현되어있어요!
여기에는 잡다한 함수들이 다 들어있어요!
mrc 와 관련한 함수들은 utils_qa.py 로 옮겼고 retrieval 과 관련한 함수들은 utils_retrieval.py 로 옮겼어요!
use_pretrained_model : 이 인자는 새로 만든건데 get_models() 함수에서 볼 수 있어요 기본값이 False 로 되어있어요 나중에 custom model 을 만들 경우 사용할 수 있을것 같아요
여기도 Trainer 안쓰고 inference() 함수 만들어서 prediction 파일 저장