1. class 안에서 self로 변수 설정하는거? 이거를 뭐라고 부름? 명칭 자체를 몰라서 구글 검색을 못하것음
2. 딥러닝에서 예를들어 Dense(128) 두개를 쌓는다고 할 때
1) self.dense = Dense(128)
...
for _ in range(2):
x = self.dense(x)
2) self.dense1 = Dense(128); self.dense2 = Dense(128)
...
x = self.dense1(x); x = self.dense2(x)
둘중에 어떤게 맞는거임? 패러미터가 같아도 레이어마다 따로 self 변수 설정해줘야 하는건지 궁금함
8개의 댓글
무분별한 사용은 차단될 수 있습니다.
잉텔
1. self는 객체 본인의 인스턴스
2. 취사에 따라서.. 쓰고싶은거 쓰면댐 GAN같은 레아어가 무조건 한방향으로 흐르는게 아닐땐 할땐 후자가 좀더 편하겠지
윽눋
그럼 전자랑 후자는 같은코드임? 전자처럼 하면 새로운 dense 레이어가 하나더 생기는건지 아니면 dense 한개만 가지고 웨이트같은 학습 변수가 공유되서 학습하는건지 궁금해서리
잉텔
dense 한개만 가지고 웨이트 공유하는거지..
구체적으로 뭘 할진 모르겠지만, 아키텍쳐에 따라서 1번처럼 해야할수도 있고, 1번처럼 해야할수도 있고..
윽눋
그럼 레이어 패러미터가 완전 똑같아도 별개의 레이어로 쌓고싶으면 후자처럼 하면되는거지?
잉텔
ㅇㅇ
윽눋
ㄱㅅㄱㅅ
꿀렁꿀렁
인스턴스 변수. 2번처럼 노드수 같으면 1)처럼 해두 되긴 할텐데 난 2) 방식으로 할래
윽눋
나도 후자처럼 햇는데 복잡한 모델짜다보니까 변수가 너무많아져서 전자처럼 해도 되는지 궁금해짐