| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Hyperlink Graphs
- ์ธ๋๋ณ๊ฐ๋น์ง์ปฌ๋ ํฐ
- Key ์ข ๋ฅ
- latent factor model
- ๋ฌด๊ฒฐ์ฑ์ ์ง๋ฉ์ปค๋์ฆ
- ์ฃผ์ฑ๋ถ ์ฐพ๊ธฐ
- Python
- ๋ฌธ์์ด
- ์ปจํ ์ด๋๊ฐ์ฒด
- ๋ฌด๊ฒฐ์ฑ
- ALTERTABLE
- ์๊ณ ๋ฆฌ์ฆ
- RENAMETABLE
- CREATETABLE
- ๋ฌด๊ฒฐ์ฑ์ ์ง
- knn_classify
- sklearn
- ์ฌ์ดํท๋ฐ
- ํด๋ฆฐ์ฝ๋
- ํ
- ๋ฐฑ์ค
- ์ ์ฌ์์๋ชจ๋ธ
- TDD
- DROPTABLE
- ํค ์ข ๋ฅ
- SQL
- ๋ถ๊ฝ๋ฐ์ดํฐ์
- latent factor
- ํ์ด์ฌ
- SQLDDL
- Today
- Total
DonHurry
step19. ๋ณ์ ์ฌ์ฉ์ฑ ๊ฐ์ ๋ณธ๋ฌธ
๐ข ๋ณธ ํฌ์คํ ์ ๋ฐ๋ฐ๋ฅ๋ถํฐ ์์ํ๋ ๋ฅ๋ฌ๋3์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ์์ต๋๋ค. ๋ฐฐ์ด ๋ด์ฉ์ ๊ธฐ๋กํ๊ณ , ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์์ฑํ๋ ํฌ์คํ ์ ๋๋ค. ์์ธํ ๋ด์ฉ์ ๊ต์ฌ ๊ตฌ๋งค๋ฅผ ๊ฐ๋ ฅ ์ถ์ฒ๋๋ฆฝ๋๋ค.

์ด๋ฏธ DeZero์ ๊ธฐ์ด๋ ๋ง๋ค์ด์ก๊ณ , ์์ผ๋ก๋ ๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๊ฐ์ ํ๊ฒ ์ต๋๋ค. ์ด๋ฒ ๋จ๊ณ๋ Variable ํด๋์ค ๊ฐ์ ์ ๋๋ค. ์ฐ์ ๋ณ์๋ค์ ๊ตฌ๋ถ์ง๊ธฐ ์ํ ์ด๋ฆ ์ค์ ์ ๋๋ค. Variable ํด๋์ค์ name์ด๋ผ๋ ์ธ์คํด์ค ๋ณ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
class Variable:
def __init__(self, data, name=None):
if data is not None:
if not isinstance(data, np.ndarray):
raise TypeError('{} is not supported'.format(type(data)))
self.data = data
self.name = name
self.grad = None
self.creator = None
self.generation = 0
...
๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์๋ ์์์ธ Variable์ ๋ฐ์ดํฐ์ธ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ฒ ํ๋ ์ฅ์น๋ฅผ ๋ง๋ค๊ฒ ์ต๋๋ค. ์ฌ๋ฌ๊ฐ์ง ๋ฉ์๋๋ฅผ ์ถ๊ฐํ๋๋ฐ, ํ์ด์ฌ์ @property๋ฅผ ํ์ฉํ์ฌ ๊ตฌํํ๊ฒ ์ต๋๋ค. ์ด๋ ๋ฉ์๋๋ฅผ ์ธ์คํด์ค ๋ณ์์ฒ๋ผ ์ฌ์ฉํ ์ ์๊ฒ ํฉ๋๋ค. ์์ธํ๊ฒ ์ค๋ช ํด์ฃผ์๋ ๋ถ๋ค์ด ๋ง์ผ๋ ์ฐพ์๋ณด์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ํ์ฌ ๊ตฌํํ ๊ฒ ์ธ์๋ ndarray์ ์ธ์คํด์ค ๋ณ์๋ฅผ ํ์ฉํ๋ฉด ๋์ฑ ๋ค์ํ ์ถ๊ฐ ๊ธฐ๋ฅ์ด ๊ฐ๋ฅํฉ๋๋ค.
class Variable:
...
@property
def shape(self):
return self.data.shape
@property
def ndim(self):
return self.data.ndim
@property
def size(self):
return self.data.size
@property
def dtype(self):
return self.data.dtype
ํ์ด์ฌ์ len ํจ์๋ ํ์ฉํด๋ณด๊ฒ ์ต๋๋ค. ์ถ๊ฐ๋ก Variable์ ๋ด์ฉ ํ์ธ์ ์ฝ๊ฒ ํ ์ ์๋ ๊ธฐ๋ฅ๋ ์ถ๊ฐํฉ๋๋ค.
class Variable:
...
def __len__(self):
return len(self.data)
def __repr__(self):
if self.data is None:
return 'variable(None)'
p = str(self.data).replace('\n', '\n' + ' ' * 9)
return 'variable(' + p + ')'
ํ ์คํธํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์์ผ๋ก๋ ๊ฐ์ ์ ์ด์ด๋๊ฐ๋๋ก ํ๊ฒ ์ต๋๋ค.
x = Variable(np.array([[1, 2, 3], [4, 5, 6]]))
x.name = 'x'
print(x.name) # x
print(x.shape) # (2, 3)
print(x) # variable([[1 2 3]
# [4 5 6]])'DeZero > ๐ป์ 2๊ณ ์ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| step21. ์ฐ์ฐ์ ์ค๋ฒ๋ก๋(2) (0) | 2023.01.22 |
|---|---|
| step20. ์ฐ์ฐ์ ์ค๋ฒ๋ก๋(1) (0) | 2023.01.21 |
| step18. ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ ๋ชจ๋ (0) | 2023.01.19 |
| step17. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ์ํ ์ฐธ์กฐ (0) | 2023.01.18 |
| step16. ๋ณต์กํ ๊ณ์ฐ ๊ทธ๋ํ(๊ตฌํ ํธ) (0) | 2023.01.17 |