๐Ÿ‘จ‍๐Ÿซ

[PyTorch] RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!

geum 2022. 10. 4. 15:42

์—ฌํƒœ๊นŒ์ง€ PyTorch ์‚ฌ์šฉํ•œ ๋ฐฉ์‹๊ณผ ์ฐจ์ด๊ฐ€ ์—†์—ˆ๋˜ ๊ฑฐ ๊ฐ™์€๋ฐ ์ €๋Ÿฐ ๋ฌธ๊ตฌ๊ฐ€ ๋– ์„œ ์กฐ๊ธˆ ๋‹นํ™ฉ์Šค๋Ÿฌ์› ๋‹ค. BERT ์‹ค์Šต ์ค‘์— ๋งŒ๋‚œ ๊ฑฐ์˜€๊ณ  ์ผ๋‹จ ํ•ด๊ฒฐํ•˜๊ธด ํ–ˆ๋Š”๋ฐ ๊น”๋”ํ•œ ๋ฐฉ์‹์€ ์•„๋‹Œ ๊ฒƒ ๊ฐ™๋‹ค.

 

 

๋นจ๊ฐ„์ƒ‰ ์ฒดํฌ ํ‘œ์‹œ๋ฅผ ํ•ด๋‘” ๊ณณ์—์„œ RuntimeError: ~ ๊ฐ€ ๋–ด๊ณ  ๋ชจ๋“  ํ…์„œ๊ฐ€ cuda:0์— ์˜ฌ๋ผ๊ฐ€์•ผ ํ•˜๋Š”๋ฐ cpu์— ์˜ฌ๋ผ๊ฐ„ ๊ฒŒ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ๋นจ๊ฐ„์ƒ‰ ์ฒดํฌ ์ „์— print()๋กœ ๊ฐ ํ…์„œ๊ฐ€ ์–ด๋”” ์˜ฌ๋ผ๊ฐ€์žˆ๋Š”์ง€ device๋ฅผ ์ฐ์–ด๋ณด์•˜๋‹ค.

 

model๋งŒ GPU์— ์˜ฌ๋ผ๊ฐ€์žˆ๋Š” ๊ฒƒ ํ™•์ธ

 

input_ids, attention_mask, token_type_ids๋Š” custom torch dataset, collate_fn, dataloader๋ฅผ ๊ฑฐ์ณ ์ตœ์ข…์ ์œผ๋กœ ๋ชจ๋ธ ํ•™์Šต ๋ฐ์ดํ„ฐ๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์— collate_fn์˜ ๋ฆฌํ„ด ๊ฒฐ๊ณผ์— ๋ชจ๋‘ .to(device)๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์—ˆ๋‹ค.

 

๋ชจ๋‘ GPU์— ์˜ฌ๋ผ๊ฐ„ ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค.