λ¬Έμ λ°μ λ°°κ²½
μ¬μ©ν λ°μ΄ν°λ 보μ€ν΄ λ°μ΄ν°
Boston-house-price-data
Predicting house prices in Boston
www.kaggle.com

PyTorch λ₯Ό μ΄μ©ν΄ ν΄λΉ λ°μ΄ν°λ‘ κ°λ¨ν μ ν νκ·λ₯Ό ν΄λ³΄λ μ€ μλμ λ°νμ μλ¬κ° λ°μνμλ€
RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Float
μμΈ μλ¬ λ΄μ©
μ ν νκ· λͺ¨λΈμ λ°μ΄ν°λ₯Ό μ λ ₯νμ¬ ν μ€νΈν΄λ³΄λ©΄ μλμ κ°μ μλ¬κ° λ°μνλ€
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
/tmp/ipython-input-1627512362.py in <cell line: 0>()
3 model.to(device)
4
----> 5 assert model(X_test_tensor).shape == (102, 1)
6 print("Model is implemented correctly!")
5 frames
/usr/local/lib/python3.12/dist-packages/torch/nn/modules/linear.py in forward(self, input)
123
124 def forward(self, input: Tensor) -> Tensor:
--> 125 return F.linear(input, self.weight, self.bias)
126
127 def extra_repr(self) -> str:
RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Float
- νλ ¬ κ³± μ°μ°(matmul)μ μνν λ, μ λ ₯ λ°μ΄ν°(mat1)μ λͺ¨λΈ κ°μ€μΉ(mat2)μ dtype, λ°μ΄ν° νμ μ΄ μλ‘ λ€λ₯΄λ€λ μλ―Έ
- κ·ΈλΌ μ΄λμ μλͺ»λ κ±ΈκΉ? μ μ²λ¦¬ λ¨κ³μμ μ΄μμ΄ μμμ
μΌλ°μ μΈ μ μ²λ¦¬ κ³Όμ λ€, xμ y λΆλ¦¬, νμ΅ λ° ν μ€νΈμ λΆλ¦¬, μ κ·ν λ±μ κ±°μΉ λ€μ PyTorchλ‘ κ΅¬μΆλ μ ν νκ· λͺ¨λΈμμ μ¬μ©νκΈ° μν΄μ λ°μ΄ν° νλ μμΌλ‘ λμ΄μλ λ°μ΄ν°λ€μ ν μλ‘ λ³νν΄μ€μΌνλ€
torch.tensor(X_train.values).to(device)
---
=> torch.float64
λ°μ΄ν° νλ μμμ valuesλ‘ λνμ΄ ννλ‘ μΆμΆν λ€μ ν μλ‘ λ³ν ν GPU (λλ CPU) μ λ°μ΄ν°λ₯Ό μ¬λ¦°λ€
λ¬Έμ λ torch.tensor()μμ λ°μ΄ν° νμ μ μ§μ νμ§ μμμ λ λ³νλ νμ μ΄ float64, double μ΄λΌλ κ²
νμ§λ§ nn.Linearμ weightμ biasλ κΈ°λ³Έμ μΌλ‘ torch.float32λ₯Ό μ¬μ©νλ€
λ°λΌμ μ λ ₯ λ°μ΄ν°μ λͺ¨λΈμ κ°μ€μΉ λ°μ΄ν° νμ μ΄ μλ§μΌλ©΄μ κ³±μ°μ° λ°νμ μλ¬κ° λ°μνλ€
μ¬κΈ°μ μ£Όμν μ μ torch.tensor() μμ λ°μ΄ν° νμ μ μ§μ νμ§ μμ κ²½μ° μ λ ₯λ°μ λ°μ΄ν° νμ μ λ°λΌκ°λ€
X_train.values.dtype
=> dtype('float64')
ν μ λ³νμ μν΄ λ°μ΄ν° νλ μμμ λνμ΄λ‘ μΆμΆνμ λ λ°μ΄ν° νμ μ΄ float64 μκΈ° λλ¬Έμ μ΄λ₯Ό ν μλ λ°λΌκ°κ² λ κ²μ΄λ€
ν΄κ²° λ°©λ²
곡μ λ¬Έμ λ μ°Έκ³ νκΈ°.
https://docs.pytorch.org/docs/stable/generated/torch.nn.Linear.html#torch.nn.Linear
Linear — PyTorch 2.8 documentation
Linear class torch.nn.Linear(in_features, out_features, bias=True, device=None, dtype=None)[source] Applies an affine linear transformation to the incoming data: y=xAT+by = xA^T + by=xAT+b. This module supports TensorFloat32. On certain ROCm devices, when
docs.pytorch.org

torch.tensor(X_train.values, dtype=torch.float32).to(device)
---
=> torch.float32
ν μ λ³ν κ³Όμ μμ λ°μ΄ν° νμ μ λͺ¨λΈμ λ§κ² λ§μΆ°μ£Όλ©΄ λλ€
torch.tensorμμ dtypeμΌλ‘ μνλ λ°μ΄ν° νμ μ ν κ°λ₯νλ€
λ μ λ ₯λ°λ λ°μ΄ν°μ νμ μ μ μ΄ν΄λ³΄κ³ μ΄λ κ² λ°μ΄ν° μ μ²λ¦¬λ₯Ό ν κ²½μ° μ΄μκ° λ°μνμ§ μλλ‘ λ°μ΄ν° νμ μ λͺ μν΄λμ
'μλ¬ λ° μ΄μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| Colab MMDetection μ μ μ΄μ - Colabμμ μ¬μ©x (0) | 2025.12.10 |
|---|---|
| VSCodeμμ C/C++ μ μ μ΄μ (0) | 2025.11.06 |
| [PyTorch] NotImplementedError: "normal_kernel_cpu" not implemented for 'Byte' (0) | 2025.09.04 |
| μλμ°11 μλμ½λ€ ν μνλ‘ GPU μ ν μ μ₯μ© (1) | 2025.07.01 |