본문 바로가기

728x90
반응형

파이썬

(20)
[FastAPI] 1. FastAPI 시작하기 (환경 구축) 개발환경 : WSL2 (Ubuntu 20.04), Python 3.10 (anaconda 가상환경) 처음은 간단한 애플리케이션을 구축해보면서 FastAPI를 경험해보는 시간. 1. 라이브러리 설치 및 소스코드 작성 애플리케이션 개발에 필요한 라이브러리와 패키지를 설치 pip install fastapi uvicorn 이제 api.py라는 파일을 만들어 FastAPI의 새 인스턴스를 생성함. from fastapi import FastAPI app = FastAPI() app 변수에 FastAPI를 초기화해서 라우트를 생성할 수 있다. 웰컴 라우트를 만들어보자. 우선 데코레이터를 사용해 처리 유형을 정의하고 라우트가 호출됐을 때 실행할 처리를 함수로 작성함. 다음 코드는 GET 유형의 요청을 받아서 환영 ..
[백준] 5597번: 과제 안 내신 분..? (브론즈5, Python) https://www.acmicpc.net/problem/5597 5597번: 과제 안 내신 분..? X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, www.acmicpc.net 문제 해결 아이디어 1. 입력값이 한번씩 28번 들어온다! 28번 받을 준비를 해야할 덧. 2. 1번부터 30번까지 범위이며, 입력값의 중복은 없음. 3. 학생 30명을 먼저 채워넣고, 숙제를 제출한 사람은 교실 밖으로 나간다고 상상했음. 리스트 밖으로 쫓아낼거임. 4. 중복값이 없으므로 python remove 메서드를 사용해도 괜찮다고 생각함. 5. 출력도 한줄로 해야돼요! 소스코..
[백준] 10813번: 공 바꾸기 (브론즈2, Python) https://www.acmicpc.net/problem/10813 문제 해결 아이디어 https://kwanghori.tistory.com/49 [백준] 10811번: 바구니 뒤집기 (브론즈2, Python) https://www.acmicpc.net/problem/10811 10811번: 바구니 뒤집기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가 kwanghori.tistory.com 위 url과 유사한 문제로, 바구니 뒤집기 문제에서는 리스트 내 범위 값을 뒤집었다면, 공 뒤집기 문제는 지정된 인덱스의 값의 위치를 바꾸는 문제. 1. 입력된 길이의 리스트를 만들고, 2. 입력된 인덱스의 값의 위치를 서로..
[Linux] anaconda 리눅스 커널에서 설치 (wget 사용) 개발환경 OS : Windows10 WSL2 (Ubuntu 20.04 LTS) 1. 개요 리눅스 커널에서 wget을 이용하여 anaconda 설치하기 anaconda를 이용한 가상환경설정에 더 익숙하여 다음 내용을 정리하게 됐습니다. 2. 필요 패키지 및 명령어 sudo apt-get update [sudo] password for ~~~: Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB] Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease Get:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] Get:4..
[Python] 큐(Queue) 구현 1. 개발 환경 : Python 3.8.10, WSL2, VSCODE 2. 큐(Queue) 2.1. 큐의 개념 줄을 서는 행위와 유사 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 (FIFO, First In First Out) 스택과 꺼내는 순서가 반대입니다. (스택은 LIFO) Enqueue : 큐에 데이터를 넣는 기능 Dequeue : 큐에서 데이터를 꺼내는 기능 Front : 데이터를 꺼내는 쪽 Rear : 데이터를 넣는 쪽 2.2. 파이썬 큐(queue) 라이브러리 import queue 하여 사용할 수 있습니다. Queue() : 일반적인 큐 자료구조 >> queue.Queue() LifoQueue() : 나중에 입력된 데이터가 먼저 출력 (스택구조) >> queue.LifoQueue..
[Python] List Comprehension 이해하기 환경 : windows 10, VS Code, Python 3.7 1. 개요 다른 사람의 소스 코드를 보면 자주 보게되는데, 이 표현식을 사용할 줄 모른다면 코드를 이해할 때 걸림돌이 됩니다. (ㅜㅜ) 하지만 리스트 컴프리헨션을 사용 시 코드 작업의 엄청난 효율을 가져다줍니다! 간단한 예제를 통해 이해를 높혀봅시다. 2. 예제 설명 2.1. for문 1부터 n까지의 숫자를 입력 받아 리스트에 "정수형"으로 저장한다면 어떻게 해야할까요? 기존 표현 방식으로는 다음과 같이 작성합니다. number = int(input()) array = [] for i in range(1, number+1): array.append(i) print(array, type(array[0])) 10을 입력했을 때의 결과값 [1,..
[Python] 구글에서 이미지를 수집 해보자 (selenium) 개발 환경 : Windows 10, VS Code, Python 3.7.11, Google Chrome Browser 기본적인 환경은 구축돼 있다는 가정 하에 진행하겠습니다. 1. 개발 환경 구축 우선 터미널에서 selenium을 인스톨 합니다. pip install selenium selenium을 사용하기 위해서는 chromedriver를 설치해야합니다. 우선 구글 크롬 버전을 확인합니다. (설정 > 크롬 정보) https://chromedriver.chromium.org/downloads ChromeDriver - WebDriver for Chrome - Downloads Current Releases If you are using Chrome version 99, please download Ch..
[ML] 인공신경망 비선형 활성화함수 (Activation Function) 1.활성화 함수의 특징 - 비선형 함수(Nonlinear function) 비선형 활성화 함수는 입력을 받아 수학적 변환을 수행하고 출력을 생성하는 함수입니다. (시그모이드, 소프트맥스) 인공 신경망의 능력을 높이기 위해 은닉층을 계속 추가해 줘야하는데 선형 함수의 경우 단순하게 가중치의 곱의 형태가 되게 때문에 1회 추가한 것과 차이를 줄 수 없습니다. 따라서 모든 은닉층의 활성화함수로 선형함수를 사용하지 않습니다. 예를 들어 활성화 함수 f(x) = Wx라고 가정할 경우 f(f(f(x)))의 경우 f(x) = W^3x입니다. 이는 W^3 = k라고 했을 때 y(x) = kx로 1회 추가한 것과 차이가 없습니다. 2. 시그모이드 함수(Sigmoid function)와 기울기 소실 위 인공신경망은 순전파..

728x90
반응형