본문 바로가기

분류 전체보기73

ㅎㅎ class GCN_Unsupervised(nn.Module): def __init__(self): super(GCN_Unsupervised, self).__init__() self.conv1 = GCNConv(dataset.num_node_features, 16) self.conv2 = GCNConv(16, 16) self.pool = DmonPool(cluster_size=5) # 클러스터 크기 지정 def forward(self, data): x, edge_index = data.x, data.edge_index x = self.conv1(x, edge_index) x = torch.relu(x) x = self.conv2(x, edge_index) x, edge_index, cluster_loss,.. 2024. 8. 8.
Clustering 평가 방법 보호되어 있는 글 입니다. 2024. 7. 9.
[Python] Class Class의 개념을 파이썬 처음 공부할 때, 간단하게 지나가고 그 뒤로 어렴풋이 아는 개념으로 사용해했었다. 현업에 나와보니 개념 하나하나 정확하게 아는게 너무너무 중요하다는 것을 깨닫고.. 확실한 코드를 짜기 위해선 확실하게 개념을 다시 공부해야겠다는 생각이 들어 그렇게 다시 class를 공부하게 되었다. Class - 클래스 : 객체를 만들기 위한 설계도 - 객체 : 설계도로 부터 만들어 낸 제품 #클래스를 사용하지 않을 때 champion1_name = "이즈리얼" champion1_health = 700 champion1_attack = 90 print(f"{champion1_name} 님 소환사의 협곡에 오신것을 환영합니다.") champion2_name = "리신" champion2_healt.. 2024. 3. 31.
[Python] Type Annotation 타입 어노테이션이란? - 변수, 상수 선언 시에 어떤 타입으로 저장할 것인지 알려주는 방법 - 코드 가독성과 효율성이 좋아짐 def add(a: int, b: int) -> int return a + b add("1", "2") #에러가 발생하진 않음 but '12'가 출력 add.__annotations__ #타입 어노테이션 확인 from typing import List names: List[str] = ["Alice", "Bob", "Charlie"] user: Dict[str, str] = {"name": "Alice", "email": "alice@example.com"} # 클래스 class Student: def __init__(self, name: str, grades: List[int]).. 2024. 3. 31.
[ Python ] 이터레이터(Iterator) vs 제너레이터 (Generator) 이터레이터 (Iterator) ? - 집합에서 값을 차례대로 꺼낼 수 있는 객체 - For 문을 순회할 수 있음 - iter()로 반복 가능한 객체로 변환한 후, next()로 다음 값을 뽑는다 - 한 번 반복하면 재사용 불가 a = [1, 2, 3] iterator = iter(a) next(iterator) # 1 출력 next(iterator) # 2 출력 next(iterator) # 3 출력 next(iterator) # StopIteration 에러 발생 제너레이터 (Generator) - 이터레이터를 생성해주는 함수 - 순차적로 다른 값을 반환하길 원할 때 - yield() def generator(): yield 'a' yield 'b' yield 'c' g = generator() nex.. 2024. 3. 31.
[Kubernetes] Docker? Kubernetes? Docker? Kubernetes? 를 들어가기 전에 이 두 개념에서 공통적으로 언급되는 개념인 Container가 있습니다. 우리는 Docker와 Kubernetes의 개념을 공부하기 전, Container의 개념 먼저 살펴보고자 합니다. 컴공 / 전자과 / 임베디드 같은 학과에서 졸업하신 분들이라면, 학생 때 다들 Linux를 써보신 적이 있으실 겁니다. 저도 운영체제, 네트워크는 안배웠어도 Linux환경에서 C언어를 배웠으니까요. 그때 우리는 가장 처음 어떠한 작업을 했는지 기억나십니까? 저같은 경우는 바로 VM (Virtual Machine)을 설치하고, 그 위에 Linux환경을 만들었습니다. VM이 생소하신 분들을 위해 간략히 설명드리자면, VM은 sw로 구축된 컴퓨터라고 생각하시면 됩니다. 실.. 2024. 2. 12.
[Pytorch] Seq2Seq Transformer 실습 ※ 해당 실습 이론은 https://nusnxxy.tistory.com/71 에 포스팅 되어있습니다. 위키북스 파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습 서포터즈가 되어 교재 7장 실습 포스팅을 진행하게 되었습니다. 이번 포스팅에선 교재에 나와있는 실습 중, 파이토치에서 제공하는 트랜스포머 모델을 활용해 영어-독일어 번역 모델 실습을 진행하도록 하겠습니다...! 코드가 길기 때문에 위키북스 Git으로 먼저 들어가서 코드를 참조하셔도 좋습니다. git link : https://github.com/wikibook/pytorchtrf 학습에 사용되는 데이터세트는 Multi30k 입니다. https://github.com/multi30k/dataset GitHub - multi30k/dat.. 2024. 2. 4.
[Pytorch] Transformer Transformer Model은 2017년 https://arxiv.org/abs/1706.03762 논문을 통해 소개된 모델입니다. Transformer Model의 주요 기능은 Sequential Processing, Recurrent Connections에 의존하지 않고 입력들 사이의 패턴을 찾아내 병렬로 sequence를 처리합니다. 때문에 Big Data를 처리하기에 매우 효율적인 모델이라 할 수 있습니다. Transformer 모델은 크게 인코더(Encoder)와 디코더(Decoder)로 이루어져 있습니다. 먼저 인코더(Encoder)는, input sequence를 Embedding하여 고차원의 벡터로 변환하는 과정을 거칩니다. 디코더(Decoder)는, 인코더의 출력을 입력으로 받아 출력.. 2024. 1. 28.
[책리뷰] 파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습 위키북스 서포터즈 활동을 하며 파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터 비전 심층학습 책을 리뷰하게 되었습니다. 이제 막 2년차 Data Scientist인 저는 현재 Pytorch를 주 딥러닝 프레임워크로 사용하며 업무를 수행하고 있습니다. 업무에서는 만드는 모델은 NLP, 컴퓨터 비전과는 거리가 멀지만, 가장 Hot 한 모델인 Transformer모델은 주 업무에서도 종종 사용하고 있고 업무 확장을 위해 NLP, 컴퓨터 비전을 공부하고 싶어 위키북스 '파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터 비전 심층학습' 서포터즈를 지원하게 되었습니다. 서포터즈가 되자마자 바로 'Yes24'에서 책을 주문하였고 다음날 아침7시 전에 배송이 왔습니다. 책을 처음 보자마자 들었던 생각은 '책이 매우 .. 2024. 1. 21.