본문 바로가기

분류 전체보기365

[PyTorch] Torchvision과 utils.data 이수안컴퓨터연구소의 파이토치(PyTorch) 기초 영상을 보고 정리한 내용입니다. ✅ Torchvision Torchvision은 대표적으로 전처리할 때 사용하는 메서드인 transforms를 제공하는 패키지이다. 이외에도 일반적으로 클래스를 따로 만들어 전처리 단계를 진행하며 다양한 전처리 기술을 제공한다. import torch import torchvision import torchvision.transforms as transforms transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize(mean=(0.5,), std=(0.5,))]) 예를 들어 DataLoader의 인자로 들어갈 transform을 미리 정의할 수.. 2022. 2. 23.
[PyTorch] nn과 nn.functional 이수안컴퓨터연구소의 파이토치(PyTorch) 기초 영상을 보고 정리한 내용입니다. ✅ torch.nn & torch.nn.functional PyTorch는 신경망(Neural Network) 생성, 학습을 위해 torch.nn 또는 torch.nn.functional 패키지를 제공한다. torch.nn 또는 torch.nn.functional 패키지를 통해 자동미분(autograd) 관련 작업을 진행할 수 있다. 이 두 패키지는 같은 기능을 제공하지만 방식이 조금 다르다. 결론만 말하자면 torch.nn은 attribute를 활용해 state를 저장, 활용하고 torch.nn.functional로 구현한 함수의 경우에는 인스턴스화시킬 필요없이 바로 사용이 가능하다. ✅ torch.nn torch.nn은.. 2022. 2. 23.
[PyTorch] CUDA와 자동미분 이수안컴퓨터연구소의 파이토치(PyTorch) 기초 영상을 보고 정리한 내용입니다. ✅ CUDA Tensor CUDA(Computed Unified Device Architecture)는 NVIDIA의 GPU 개발 툴이다. 파이토치는 .to() 메서드를 통해 텐서를 cpu 또는 gpu 등 어떠한 장치로도 옮길 수 있다. import torch x = torch.randn(1) print(x) print(x.item()) print(x.dtype) # output # tensor([-0.3513]) # -0.35131844878196716 # torch.float32 스칼라 값을 가지는 텐서를 하나 생성한 뒤 텐서를 살펴보면 위와 같다. -0.3513... 이라는 값을 가지고 있고 데이터 타입은 float3.. 2022. 2. 23.
[6주차] Session과 Session Store 2월 23일 자 학습 내용 정리입니다. ✅ Session 세션(Session)은 웹 서버가 클라이언트의 정보를 클라이언트별로 구분하여 서버에 저장하고 클라이언트 요청 시 세션 아이디(Session ID)를 사용하여 클라이언트의 정보를 다시 확인하는 기술이다. 이는 클라이언트가 정보를 저장하고 요청 시 정보를 보내는 쿠키(Cookie)와 반대되는 개념이다. 세션의 작동방식은 다음과 같다. 서버는 세션을 생성하여 세션의 구분자인 Session ID를 클라이언트에 전달한다. 클라이언트는 요청 시 Session ID를 요청에 함께 담아 전송한다. 서버는 전달받은 Session ID로 해당하는 세션을 찾아 클라이언트의 정보를 확인한다. Express.js에서는 express-session 패키지를 사용하여 간단하.. 2022. 2. 23.
[6주차] Passport.js와 로그인 구현하기 2월 23일 자 학습 내용 정리입니다. ✅ Passport.js Passport.js는 Express.js 어플리케이션에 간단하게 사용자 인증 기능을 구현하게 도와주는 패키지이다. 유저 세션 관리 및 다양한 로그인 방식 추가 기능을 지원한다. Passport.js는 다양한 로그인 방식을 구현하기 위해 strategy라는 인터페이스를 제공한다. strategy 인터페이스에 맞게 설계된 구현체를 그대로 passport에 붙이면 passport는 로그인 구현을 도와준다. passport-google-oauth, passport-facebook, passport-twitter, passport-kakao, passport-naver 같이 SNS 계정을 통해서 바로 로그인할 수 있는 패키지 등 다양한 구현체들이 .. 2022. 2. 23.
[6주차] crypto와 회원가입 구현하기 2월 23일 자 학습 내용 정리입니다. ✅ crypto crypto는 Node.js의 기본 모듈로 OpenSSL의 해시, HMAC, 암호, 해독, 서명 및 확인 등의 암호화 기능을 제공한다. 회원가입 기능 구현 시 회원의 비밀번호를 그대로 데이터베이스에 저장하게 되면 관리자가 모든 회원의 비밀번호를 알 수 있고 탈취가 일어날 수 있어 보안 취약점이 발생한다. 따라서 이 경우 hash를 이용한다. hash는 문자열을 되돌릴 수 없는 방식으로 암호화하는 방법이다. 해시 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는데 이 결과로 얻어진 해시 값은 원래의 형태로 되돌릴 수 없다. 회원가입 구현 시 hash를 이용하는 방법은 다음과 같다. 입력받은 비밀번호의 hash 값을 데이터베이스에 저장한다... 2022. 2. 23.
[PyTorch] 텐서의 연산과 조작 이수안컴퓨터연구소의 파이토치(PyTorch) 기초 영상을 보고 정리한 내용입니다. ✅ operations 텐서의 연산은 덧셈, 뺄셈, 곱셈, 나눗셈의 사칙연산과 내적(dot product)이 존재한다. 사칙연산은 torch에서 제공하는 메서드나 기본 연산자인 +, -, *, / 을 사용한다. import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) ✔️ 덧셈 print(x + y) # output # tensor([[ 6, 8], # [10, 12]]) print(torch.add(x, y)) # output # tensor([[ 6, 8], # [10, 12]]) 덧셈은 + 연산자를 사용하거나 torch.add(.. 2022. 2. 22.
[PyTorch] 파이토치와 텐서 이수안컴퓨터연구소의 파이토치(PyTorch) 기초 영상을 보고 정리한 내용입니다. ✅ PyTorch 파이토치(PyTorch)는 딥러닝 프레임워크이다. 텐서플로, 케라스 등 다른 딥러닝 프레임워크들에 비해 파이토치는 파이썬에 가깝고 편한 인터페이스를 제공한다. import torch 파이토치의 구성요소는 다음과 같다. torch : 텐서를 생성하는 라이브러리 torch.autograd : 자동미분 기능을 제공하는 라이브러리 torch.nn : 신경망을 생성하는 라이브러리 torch.multiprocessing : 병렬처리 기능을 제공하는 라이브러리 torch.utils : 데이터 조작 등 유틸리티 기능을 제공 torch.legacy : 파이토치는 Torch로부터 포팅해온 코드이므로 기존 torch를 사용하.. 2022. 2. 22.
[5주차] Express.js + Mongoose로 Pagination 구현하기 2월 19일 자 학습 내용 정리입니다. ✏️ 예제 - Pagination 데이터가 많아지면 한 페이지의 목록에 모든 데이터를 표현하기 어렵다. Pagination이란 데이터를 균일한 수로 나누어 페이지로 분리하는 것을 말한다. const express = require('express'); const router = express.Router(); router.get(url, async (req, res) => { const page = Number(req.query.page || 1); // 현재 페이지 const perPage = Number(req.query.perPage || 10); // 페이지 당 게시글 수 const total = await Post.countDocument({}); cons.. 2022. 2. 19.