RuntimeError: CUDA error: device-side assert triggered
Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.
import os
os.environ["CUDA_LAUNCH_BLOCKING"] = '1'
os.environ["TORCH_USE_CUDA_DSA"] = '1'
ex.
class의 개수가 n개인데, oridinal encoding이 잘 적용되어 있지 않았다.
따라서 y에 해당하는 리스트가 모든 data 개수인 N개의 숫자들로 구성되어있었다.
sol. 아래는 ordinalencoder 적용코드. category(class) 개수가 42, 레이블명이 pathology인 데이터이다.
import torch
from sklearn.preprocessing import OrdinalEncoder
enc = OrdinalEncoder( max_categories=42)
enc.fit(np.array([label_names]).T)
def torchLongTensor_y_list(df, y_name='PATHOLOGY'):
enc_y = enc.transform(np.array([df[y_name].values.tolist()]).T)
return torch.tensor(enc_y.squeeze(),dtype=int)
train_y = torchLongTensor_y_list(train_df)
valid_y = torchLongTensor_y_list(valid_df)
test_y = torchLongTensor_y_list(test_df)
print(train_y.size(),valid_y.size(),test_y.size())```