Backend
-
[백엔드 시작하기] #2 웹 개발 3종류
웹을 개발할 때 기본적인 3가지 종류가 있다. 파일 그 자체로 웹에 올리는 1. 정적 컨텐츠 MVC 방식으로 폴더를 구성해 웹에 올리는 2. MVC와 템플릿 엔진 웹에 json 모양의 데이터만 보내는 3. API 이에 대해 비교해본다. 근데 강의가 훨씬 설명을 잘해주셔서 링크를 달고 강의를 추천한다. ▶ [김영한] 스프링 입문 - 코드로 배우는 스프링 부트 1. 정적 컨텐츠 이전 글에서 보인 복잡한 구조를 따르지 않고 눈에 보이는대로 코드를 작성해서 파일로 저장한 형태다. 구동 방식 2. MVC와 템플릿 엔진 MVC : Model, View, Controller 템플릿 엔진 : 템플릿을 만들어주는 프로그램 보통 웹을 구현하는 방법이다. MVC 형태로 파일을 만들고 코드를 연결한다. 구동 방식 Contro..
-
[백엔드 시작하기] #1 코드가 웹이 되는 과정
이것이 맞는가 시작하기 우리가 흔히 생각하는 웹개발이란 허허벌판 서버에서 내가 생각하는대로 작동하는 홈페이지를 띄우는 것이다. 정의는 이해가 가지만, 허허벌판에서 어떻게 작동을 한 것일까? 그 흐름을 살펴보려 한다. 우선 웹개발을 위해 코드를 작성할 때 아주 다양한 언어가 사용될 수 있다는건 모두 알 것이다. 이 중 예시로 사용할 언어는 java이다. 코드가 웹이 되는 과정 java는 말그대로 언어일 뿐이다. 이 언어를 이용해서 써내려간 코드가 실행될 수 있도록 내부적으로 처리하는 무언가가 필요하다. 그것이 스프링 프레임워크이다. 우리는 스프링을 사용해서 기본 폴더나 라이브러리들이 완성된 프로젝트를 생성하고 원하는대로 코드를 작성하기 시작한다. 그 뒤, 코드를 작성하고 프로젝트 빌드하면 프로젝트가 돌아가..
-
[.NET/C#] .Net 프로젝트 생성
.Net (닷넷)이란? 마이크로소프트에서 개발한 백엔드 프레임워크이다. 언어는 C#을 사용한다. 필요 프로그램 Visual Studio Web API 생성 절차 ASP.NET Core 프로젝트 생성 MVC 설정 ControllerBase 클래스를 상속하는 클래스 생성 액션 메서드 구현 ASP.NET 프로젝트 생성하기 새 프로젝트 생성 API 선택 프레임워크를 .NET Core 3.1로 선택 프로젝트 이름, 프로젝트 경로 설정 기본 프로젝트 생성 완료 폴더 추가 방법 (우클릭 > 추가 > 새 폴더) 코드 파일 추가 방법 (폴더 우클릭 > 새 클래스 > 빈 클래스) 참고 링크 API 개념 https://www.youtube.com/watch?v=YZeXtFw7-5Q 코드 작성 https://sosopro.t..
AI
-
[Openpose] 오픈소스 사용
Pose Estimation 의 한 분야이며, 사람의 마디를 정확히 예측한다.즉 사람의 스켈레톤을 뽑아내는 모델이다. 가장 알려진? openpose 모델은 COCO18, BODY-25, MPII 이다.세 개 모델은 뽑는 골격의 개수가 다르다. 각각 18개, 25개, 15개의 골격 포인트를 추출한다. 사실 나는 CP-VTON 진행 중 알게된 부분이다.위 모델에는 다음과 같은 학습 데이터를 필요로 한다.옷 이미지해당 옷을 입은 사람 이미지옷 이미지 segmentation 결과사람의 keypoint여기서 사람의 keypoint 가 사람의 골격 포인트에 해당한다. 즉 openpose를 사용해서 뽑아야 하는 정보이다. 내가 사용한 CP-VTON 오픈소스 코드에는 테스트용 파일이 들어있는데,keypoint ..
-
[환경] CUDA 설치
빠른 학습을 위해선 GPU를 사용해야 한다. 서버를 (ex.코랩) 사용하면 더 편리하지만, 오늘은 로컬의 GPU를 사용하려 한다. 그렇기에 cuda 연결을 위해 환경 설정 방법을 작성한다. 1. Nvidia Driver 다운 https://www.nvidia.co.kr/Download/Find.aspx?lang=kr 2. Cuda Toolkit 다운 쿠다를 다운받을것이다. 이때 버전 확인을 잘해줘야 하는데, 이후 3. cudnn을 다운받을 때 Cuda 버전이 호환되도록 다운받는다. (터미널에서 nvidia-smi를 입력하면 cuda버전이 뜬다. 혹시 몰라 이 버전(11.4) 그대로 다운받으려 한다.) cudnn 링크 이제 버전 확인을 마쳤으니, 이 사이트에서 맞는 쿠다 버전을 선택하여 다운받는다. 자신의..
-
[GAN] 다양한 GAN의 이론 설명
DCGAN표준정규분포로 얻어진 벡터를 샘플링하고 컨볼루션 기반의 레이어를 통과. PGGAN고해상도 이미지를 위해 점진적인 학습 모델을 사용함.작은, 4x4 resolution g의 첫, d의 마지막 레이어를 가져와서 해당 사이즈를 먼저 학습함.activation map은4x4x1024 를 ex.1x1 conv(rgb 로 바꾸기 위함.)를 거쳐 4x4x3으로 변형 후 tanh를 거쳐 -1~1로 변형 후 0~255의 rgb로 매핑latent space 의 4x4x1024를 rgb형태로 바꿔줌으로써 이미지로 변형.descr의 인풋으로 넣어주기 위해선, 위에서 나온 레이어를 4x4x필요채널수 (가령 512)로 변형해주는 from RGB 작업을 거치도록 함.이렇게 한 뒤 더 큰 사이즈의 레이어를 추가하여 기존 레..
-
[데이터 전처리] 학습 전 데이터 처리
컬럼 중 특정 데이터 타입을 가진 컬럼 추출하기 list(data.select_dtypes(['object']).columns) #or data.columns.to_series().groupby(data.dtypes).groups 범주형 데이터를 인덱스로 라벨링 from sklearn.processing import LabelEncoder model = LabelEncoder() model.fit(data.column_str) data.column_int = model.transform(data.column_str) 테스트 데이터 분리 from sklearn import * X_train, y_train, X_test, y_test = model_selection.train_test_split(data_..
-
[장비] 딥러닝 환경 구축하기 : CPU 환경
코랩만 쓰다가 로컬 환경을 만들어야 하는 일이 생겼다. GPU가 없는 상황이라 작은 데이터 셋만 실험할 생각으로 CPU에 환경을 구축해본다. 1. 아나콘다 설치 버튼을 통해 간단히 다운로드한다. https://www.anaconda.com/products/individual Anaconda | Individual Edition Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine learning on a single machine. www.anaconda.com 아나콘다 설치 시 Jupyter Notebook도 자동으로 같이 설치가 된다. 이 뒤로는, Anaconda P..
Program
-
[Docker] 도커로 MySQL 사용하기
1. Mysql 이미지 다운 $ docker pull mysql // mysql:태그 를 지정해주지 않으면 가장 최신 버전이 다운로드된다. 2. 만든 이미지로 컨테이너 생성 및 실행하기 $ docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=mysql1234 -d -p 3306:3306 mysql:latest --name {컨테이너명} : 컨테이너명 지정 -e : 환경설정 / 비밀번호 지정하기 -d : 백그라운드 실행하기 (데몬 모드) 3. Mysql 접속하기 $ docker exec -it test-mysql bash 3-1) 여기서 관리자 권한으로 접속하기 $ mysql -u root -p $ 설정한 비밀번호 입력 3-2) 조작하기 여기부터 Mysql 코드를 ..
-
[EC2] EC2 서버 접속
맥, 리눅스를 위한 접속 방법이다. 윈도우 유저는 PuTTy를 사용해야 한다. 터미널에 접속하여 1. pem 파일이 위치한 경로로 이동 $ cd ~~~~~~~~~~~~~~ 2. 서버 접속 $ ssh -i {key_file.pem} ubuntu@{'ip주소' OR 'DNS주소'} 권한이 넘 열려있어 warning이 뜰 수 있음 (ls -al 명령어를 통해 권한 확인 가능) 2-1) 권한 변경하기 $ chmod 400 $ ls -al ls -al을 통해 소유자만 read 할 수 있도록 권한이 변경됨을 확인할 수 있다. 한번 더 $ ssh -i {key_file.pem} ubuntu@{'ip주소' OR 'DNS주소'} 3. 호스트서버 확인 $ hostname 서버에 접속됨을 확인할 수 있다.
-
[EC2] EC2 새로운 인스턴스 생성하기
EC2는 AWS내에서 컴퓨팅 리소스를 사용할 수 있는 서비스이다. 인스턴스 만들기 1. 지역 선택 및 launch instance or 설정하기 (Launch an instance) 2. Name and tags 3. Application and OS images 더보기 OS는 우분투, AMI는 18.04LTS 버전을 사용함 3. Instance type 4. Key pair 5. Network settings 더보기 새로운 키페어를 생성해주었다. 6. Configure storage 7. Advanced details 8. Summary 설정이 완료되었다. 런치한다! Details Instance ID Succeccfully initiated of instance (i-~~~~~~~~~~~~) 인스턴스..