본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

AI/NLP

AttributeError: BertTokenizer has no attribute encode_plus: self.tokenizer.encode_plus(...)이 tokenizer()로 바뀌었다.

사용 장치: cuda
Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount("/content/drive", force_remount=True).
num	category	category_name	news
0	1001	0	정치	국회는 새로운 법안 심사를 진행하며 정부 정책 방향을 논의했다. 이번 보도에서는 정...
1	1002	0	정치	정부는 예산 편성과 개혁 과제를 중심으로 부처 회의를 열었다. 이번 보도에서는 정책...
2	1003	0	정치	대통령은 외교 일정에서 경제 협력과 안보 현안을 강조했다. 이번 보도에서는 개혁, ...
3	1004	0	정치	선거를 앞두고 각 정당은 공약 발표와 지역 방문을 확대했다. 이번 보도에서는 국회,...
4	1005	0	정치	국회는 새로운 법안 심사를 진행하며 정부 정책 방향을 논의했다. 이번 보도에서는 개...
컬럼 목록: ['num', 'category', 'category_name', 'news']
결측치 제거 전 데이터 수: 160
결측치 제거 후 데이터 수: 160
category
0    20
1    20
2    20
3    20
4    20
5    20
6    20
7    20
Name: count, dtype: int64
num	category	category_name	news
140	7001	7	IT	인공지능 기반 자연어 처리 기술이 뉴스 서비스와 검색 플랫폼에 빠르게 적용되고 있다...
141	1142	7	IT	클라우드 플랫폼 기업들은 보안 기능과 소프트웨어 개발 도구를 강화하고 있다. 이번 ...
142	1143	7	IT	반도체 업계는 인공지능 연산에 최적화된 칩과 데이터 처리 기술을 개발하고 있다. 이...
143	1144	7	IT	로봇 서비스는 알고리즘 고도화와 센서 데이터 학습을 통해 활용 범위를 넓히고 있다....
144	1145	7	IT	인공지능 서비스가 다양한 산업에 적용되면서 데이터 분석과 모델 성능 개선이 중요해졌...
Train: (102, 4)
Validation: (26, 4)
Test: (32, 4)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/tmp/ipykernel_1280/2282508213.py in <cell line: 0>()
     33 
     34 # 첫 번째 Train 샘플의 구조를 확인합니다.
---> 35 print(train_dataset[0])

/tmp/ipykernel_1280/517931900.py in __getitem__(self, index)
     29 
     30         # Tokenizer로 뉴스 본문을 BERT 입력 형식으로 변환합니다.
---> 31         encoded = self.tokenizer.encode_plus(
     32             text,                          # 토큰화할 뉴스 본문입니다.
     33             add_special_tokens=True,        # [CLS], [SEP] 토큰을 추가합니다.

/usr/local/lib/python3.12/dist-packages/transformers/tokenization_utils_base.py in __getattr__(self, key)
   1314                 if key in vars(cls):
   1315                     return vars(cls)[key]
-> 1316             raise AttributeError(f"{self.__class__.__name__} has no attribute {key}")
   1317         return object.__getattribute__(self, key)
   1318 

AttributeError: BertTokenizer has no attribute encode_plus

 

 

 

 

 

 

transformers 라이브러리 버전이 예제 코드보다 최신이기 때문에 발생한 것

self.tokenizer.encode_plus(...)

를 호출했는데 현재 BertTokenizer에서는 encode_plus()를 더 이상 사용하지 않거나 제거된 버전

encode_plus를 tokenizer로 변경

 

 

해결