반응형
1. 개요
내가 만든 모듈을 import해서 쓰는 방법이다.
같은 디렉토리안에 넣고, a.py모듈을 b.py에서 쓰고싶으면 b.py에서 import a를 하면된다. 즉 아래와 같이 쓸 수 있다.
# b.py파일
import a
2. 예시
- 디렉토리 구성
basic_nodes라는 모듈을 만들고, 이를 test2에서 불러 오려고 한다. 디렉토리 구성은 아래와 같다.
- basic_node.py
import numpy as np
class mean_node:
def __init__(self):
self._x=None
self._z=None
def forward(self, x):
self._x = x
self._z = np.mean(self._x)
return self._z
def backward(self, dz):
dx = dz * 1 / len(self._x) * np.ones_like(self._x)
return dx
class square_node:
def __init__(self):
self._x = None
self._z = None
def forward(self, x):
self._x = x
self._z = self._x * self._x
return self._z
def backward(self, dz):
return dz * 2 * self._x
class mul_node:
def __init__(self):
self._x, self._y = None, None
self._z = None
def forward(self, x, y):
self._x, self._y = x, y
self._z = self._x * self._y
return self._z
def backward(self, dz):
return dz * self._y, dz * self._x
class minus_node:
def __init__(self):
self._x, self._y = None, None
self._z = None
def forward(self, x, y):
self._x, self._y = x, y
self._z = self._x - self._y
return self._z
def backward(self, dz):
return dz, -1 * dz
class plus_node:
def __init__(self):
self._x, self._y = None, None
self._z = None
def forward(self, x, y):
self._x, self._y = x, y
self._z = self._x + self._y
return self._z
def backward(self, dz):
return dz, dz
def p():
print("hihi")
a="value"
- test2.py
import한 모듈의 클래스, 함수, 변수 모두 쓸 수 있다.
import basic_nodes as nodes #파일이름을 import!
#클래스
node1=nodes.mul_node()
node2=nodes.minus_node()
node3=nodes.square_node()
node4=nodes.mean_node()
print(node1.forward(10,20))
#함수
nodes.p()
#변수
print(nodes.a)
200
hihi
value
반응형