Super Kawaii Cute Cat Kaoani 치킨고양이짱아 공부일지
728x90

전체 글 159

[Python] 딕셔너리 key 추가, key 있는지 확인, key값만 불러오기, 정렬

파이썬 딕셔너리는 사용법만 익히면 굉장히 편리하다. 딕셔너리에 key를 추가하고,딕셔너리에 특정 key가 있는지 확인하고, 딕셔너리의 key값들만 불러오고, 딕셔너리를 value값을 기준으로 정렬하는 방법을 알아보자 1. 딕셔너리에 key추가하는 방법my_dict = {}my_dict['apple'] = 3print(my_dict) # {'apple': 3}이런식으로 새로운 key값에 대해 값을 지정해주면 딕셔너리에 key:value쌍을 추가할 수 있다. 2. 특정 key가 딕셔너리에 있는지 확인하는 방법if 'apple' in my_dict: print('Key exists!')else: print('Key does not exist.')key in dict 과 같이 in을 통해 쉽게 확인..

연구/Python 2025.04.02

Latent Diffusion 이해 + 코드 짜보기

개념 이해하기Latent Diffusion은 기존 Diffusion Model의 연산 부담을 줄이기 위해 나온 모델이다. 기존 diffusion model은 고해상도 이미지 공간에서 직접 노이즈를 제거해야하다보니 계산량이 너무 많았다. latent diffusion은 이에 주목하여 이미지를 먼저 autoencoder를 통해 압축된 latent space로 옮겨서 latent 공간에서 diffusion을 수행한 뒤 마지막에 다시 이미지를 복원한다. u net이 노이즈 제거시에 latent값과 추가조건(ex: text embedding)을 함게 고려하면서 노이즈를 제거할 수 있기 때문에 conditioning이 가능하다 코드 뜯어보기사전 학습된 Stable Diffusion 모델이 돌아가도록 하는 코드를 통..

딥러닝 면접 기초 개념

1. 딥러닝 개념 및 기본 이론(1) 딥러닝이란 무엇인가?딥러닝은 인공 신경망(Artificial Neural Networks, ANN)을 기반으로 한 머신러닝의 한 분야이다. 여러 층(layer)로 이루어진 신경망을 사용하여 복잡한 데이터에서 패턴을 학습하고 추출할 수 있다. 대표적인 딥러닝 모델로는 합성곱 신경망(CNN), 순환 신경망(RNN), 변환자(Transformer) 등이 있다. (2) 딥러닝과 머신러닝의 차이점은 무엇인가?머신러닝: 컴퓨터가 데이터를 기반으로 학습하여 패턴을 인식하고 예측하는 기술. 주로 특징(feature)을 사람이 직접 설계해야 함.딥러닝: 딥러닝은 머신러닝의 한 분야로, 인공 신경망을 이용하여 데이터에서 자동으로 특징을 추출하는 능력을 갖춤. 따라서 딥러닝은 보다 복잡..

[Python] 파이썬 리스트 전치 시키기

numpy 같은 외부 라이브러리를 사용하지 않고 파이썬에서 2차원 list를 전치시키는 방법이다. graph = [list(map(int, input().split())) for _ in range(N)]transposed_graph = [list(row) for row in zip(*graph)]graph를 전치시킨 transpose_graph를 생성하는 과정이다. 동작과정을 살펴보면 다음과 같다. 1. *graph는 graph의 각 행을 개별 리스트로 풀어준다. 즉 [matirx[0], matrix[1], matrix[2]]...를matrix[0], matrix[1], matrix[2]...로 풀어준다 2. zip()은 동일 인덱스 요소를 묶어서 튜플로 변환해준다. 즉, zip([1, 2, 3], [..

연구/Python 2025.03.16

[Python] 파이썬 입력받기

파이썬에서 입력을 받는 방법이다. 50 0 1 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 060 0 0 0 0 00 1 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0 이런식으로 n, nxn의 입력이 들어올 때 파이썬에서는 다음과 같이 입력을 받을 수 있다. n = int(input())먼저 input()으로 받으면 string 형태로 들어오게 되므로 int로 형변환을 해주어야한다. 그리고 nxn의 입력을 받아받아 [[0, 0, 1, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]과 같이 저장해주어야하는데 방식이 조금 어색했다. graph = [lis..

연구/Python 2025.03.10

백준 16637번 문제 풀이(python)

문제 살펴보기길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 연산자 우선순위는 모두 동일하기 때문에, 수식을 계산할 때는 왼쪽에서부터 순서대로 계산해야 한다. 예를 들어, 3+8×7-9×2의 결과는 136이다.수식에 괄호를 추가하면, 괄호 안에 들어있는 식은 먼저 계산해야 한다. 단, 괄호 안에는 연산자가 하나만 들어 있어야 한다. 예를 들어, 3+8×7-9×2에 괄호를 3+(8×7)-(9×2)와 같이 추가했으면, 식의 결과는 41이 된다. 하지만, 중첩된 괄호는 사용할 수 없다. 즉, 3+((8×7)-9)×2, 3+((8×7)-(9×2))은 모두 괄호 안에 괄호가 있기 때문에, 올바른 식이 아니다.수식이 주어졌을 때, 괄호를 적..

OBS Studio를 사용하여 동영상 format 변경하기

OBS studio를 사용하면 동영상 녹화뿐만 아니라 녹화된 영상의 format을 동영상 품질 저하 없이 변경할 수 있다. 녹화된 영상의 format을 변경하는 방법은 아래와 같다.  1. 좌측 상단의 파일 클릭 > 녹화본 Remux 클릭 (버전에 따라 녹화본 Remux가 아닌 녹화된 파일 재다중화라고 뜨는 경우도 있는 것 같다.) 2. OBS 녹화본 선택 > Remux 버튼 클릭OBS 녹화본을 선택한다. 한번에 여러개 선택하는 것도 가능하며 대상파일이 자동으로 아래의 사진과 같이 설정이 된다. 만약 mp4 파일이 아닌 다른 format이나 저장경로를 변경하고 싶으면 더블클릭하여 대상파일의 경로 및 format을 수정하면 된다. Remux 버튼을 크릭하면 대상파일의 경로에 format이 변경된 파일이 잘..

기타 2024.12.05

다익스트라 알고리즘(Dijkstra Algorithm)

다익스트라 알고리즘은 음의 가중치가 없는 그래프에서, 한 vertex에서 모든 vertex들까지의(one-to-all) 최단거리를 구하는 알고리즘이다.그럼 알고리즘의 내용을 살펴보자. 설명에서d[N]:  출발 vertex -> N 까지 계산된 최단거리S: 방문한 노드들의 집합Q: 방문하지 않은 노드들의 집합를 의미한다.아래와 같은 네트워크에서 A->F까지의 최단 거리 계산을 목표로 하는 상황이라고 가정하자.1. 다익스트라 알고리즘은 아직 확인되지 않은 거리를 모두 무한(infinity)로 설정한다.최단거리 update출발지로부터 출발지까지의 거리는 무조건 0이기 때문에 d[A] = 0으로 설정한다.d[나머지 node]= infinity로 설정이되어있는데 실제로 무한이라는 의미는 아니고, 아직 확인되지 않..

수업정리 2024.10.03

SVM(State-Vector Machine)이란?

SVM은 지도 학습 알고리즘으로, 주로 분류(classification) 문제에 사용됩니다. SVM은 기존의 분류방법들과 기본원리가 크게 다르다.신경망을 포함하여 기존의 방법들은 분류 '오류율을 최소화'하려는 목적으로 설계되었다.하지만 SVM은 한 발짝 더 나아가 두 부류 사이에 존재하는 '여백을 최대화'하려는 목적으로 설계되었다.좀 더 구체적으로 SVM에 대해 알아보자. SVM의 목표는분류 문제에서 데이터를 최대한 분리하는 최적의 초평면(hyperplane)을 찾는 것이다.이 초평면은 두 개의 클래스 사이의 마진을 최대화하는 것을 목표로 한다.마진은, 초평면과 가장 가까운 데이터 포인트(서포트 벡터) 간의 거리를 의미한다.SVM은 기본적으로 선형 분류 문제에 사용되지만, 커널 트릭(kernel tric..

direction vector, up vector가 주어졌을 때, viewing matrix 구하는 방법

한 점으로부터 물체를 바라보는 direction vector, up vector가 주어졌을 때, viewing matrix를 어떻게 구할 수 있을까?viewing matrix란?일단, viewing matrix가 무엇인지부터 알아보자. viewing matrix M_v는 world space 상의 좌표인 p_w를 camera space상의 좌표인 p_v로 바꿔주는 matrix이다. (즉, p_v = M_v @ p_w가 성립하는 matrix이다.) 어떠한 방식으로 구할 수 있을까?object space 상의 좌표를 world space상의 좌표로 바꿔주기 위해p_w = (object space를 world space상에서 표현한 matrix) @ p_o가 성립했던 것을 떠올리면,p_w = (camera s..

728x90
728x90