코딩캠프/AI 웹개발 취업캠프

모델 생성 모델 생성 할때 받을 데이터 정의 해주고 schemas.py class ModelCreate(BaseModel): userId: int title: str private: bool file: str description: str main.py # 상단에 create_model 및 ModelCreate 추가 from BE.crud import create_user, get_user, verify_password, get_user_info, update_user_info, get_models, get_my_models, create_model from BE.schemas import UserCreate, UserLogin, UserUpdate, ModelCreate @app.post("/model..
개인 모델 리스트 가져오기 main.py # get_my_models 추가 from BE.crud import create_user, get_user, verify_password, get_user_info, update_user_info, get_models, get_my_models @app.get("/my-models/{userId}") def read_my_models(userId: int, db: Session = Depends(get_db)): my_models_in_db = get_my_models(db, userId) return my_models_in_db crud.py def get_my_models(db: Session, userId: int): return db.query(Model..
오늘은 오전,후 에 일정이 있어서 너무 늦게 개발시작한 탓에 전체 모델 리스트을 조회 하는 기능을 만드는데 일단 조회만 가능하게 코드를 추가하고 나중에 상황에 맞게 수정해야겠다.. main.py # 상단 get_models 추가 from BE.crud import create_user, get_user, verify_password, get_user_info, update_user_info, get_models /models, get으로 요청했을때 모델 테이블을 조회할 수 있게 해준다. @app.get("/models") def read_models(db: Session = Depends(get_db)): models_in_db = get_models(db) return models_in_db crud...
오늘은 정보 수정을 해야겠다 정보 수정할 모든 데이터는 닉네임, 패스워드이고 이 2개만 하면되서 비교적으로 간단한거같다..아마두 ㅋㅋ main.py #상단 부분에 update_user_info from BE.crud import create_user, get_user, verify_password, get_user_info, update_user_info @app.patch("/users/{userId}") def update_user(userId: int, db: Session = Depends(get_db)): update_user_info(db, userId) return JSONResponse(content={"message": "정보가 수정되었습니다."}, status_code=200) crud..
오늘은 로그인, 유저 조회를 구현해볼거다 로그인 생각 보다 진도가 너무 안나가서 ... 불안해진다.. ㅠㅠ 일단 단순히 DB에 있는 정보랑 비교해서 맞게 입력했다면 로그인 성공 여부를 구현해 보자 pydantic 을 이용해 로그인 정보를 벨리데이션 해준다. schemas.py class UserLogin(BaseModel): email: str password: str 로그인 절차는 1. email, password 를 받아오고 2. db에서 email를 찾는다 3. 없다면 오류를 보내고 있다면 비밀번호를 비교해준다 4. 비번도 맞으면 로그인 성공 main.py # 위쪽에 get_user, verify_password 를 추가 from BE.crud import create_user, get_user, ..
오늘은 패스워드 암호화를 할 것이다. 일반적으로 가장 많이 사용하고 있는 bcrypt 라는 라이브러리를 사용해 패드워드 암호화를 할껀데 선택한 이유는 아주 간단하다. 가장 자료가 많다. 구현이 쉽다. 비교적 강력하다. pip install bcrypt 로 bcrypt 를 설치해준다. 기존 회원가입 코드에서 def create_user(db: Session, user: UserCreate): db_user = User(**user.dict()) db.add(db_user) db.commit() db.refresh(db_user) return db_user 비밀번호 암호화를 위해 비밀번호를 str -> bytes 변경 bcrypt로 암호화 암호화 데이터 -> str로 변경 작업을 거쳐 db에 저장합니다. d..
Alembic 패키지 추가 추가 이유 : 데이터베이스를 다른 인스턴스나 리전을 변경할 경우 빠르게 마이그레이션 할 수 있게 하기위해 pip install alembic 패키지를 설치하고 초기화 해준다 alembic init (환경명) 와 같이 alembic.ini 파일과 환경폴더가 생성된다. alembic.ini 에서 우리는 .env에서 db url를 따로 관리해줄거여서 63번째 줄 에 있는 sqlalchemy.url = driver://user:pass@localhost/dbname 를 주석처리해준다. 환경폴더 안에 env.py로 가서 import os from dotenv import load_dotenv load_dotenv('.env') DATABASE_URL = os.environ["POSTGR..
오늘 13시 10분에 회의를 통해 작성 해놨던 API 명세, ERD에 대한 대략적인 피드백을 받고 본격적인 개발진행을 위해 팀원들과 DB 통일을 하자는 의견이 나와서 놀고있던 Ubuntu 서버를 돌려 PostgreSQL 서버에 이번 프로젝트에 쓸 계정과 db를 만들었다. 그 후 공식 문서에 나와있는 방식대로 파일구조를 나눴다 그리고 .env를 이용해서 database.py 에 연결정보들을 담았다 import os from dotenv import load_dotenv from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker l..
전염병 예측 인공지능 만들기 블루닷이라는 서비스는 코로나 19의 확산을 누구보다 먼저 예측한 인공지능으로 유명 인공지능을 사용하여 전염병ㅇ이 발생할 수 있는 곳을 예측하는 기술이 이미 사용되고 있다 인공지능을 사용하여 전염병의 발병률을 예측하기도 한다 이번에 만드는 인공지능은 이전 3일의 확진자 수를 토대로 다음 날의 확진자 수를 예측하는 간단한 인공지능 확진자 수 예측하는 인공지능 from keras.models import Sequential from keras.layers import SimpleRNN, Dense from sklearn.preprocessing import MinMaxScaler from sklearn.metrics import mean_squared_error from sklea..
mnist 데이터셋에서 X의 형태 바꾸기 데이터의 형태 바꾸기 28 * 28의 데이터를 1*784 형태처럼 한 줄로 만든 후 이를 딥러닝 모델에 입력 X_train = x_train.reshape(60000, 784) X_test = x_test.reshape(10000, 784) X_train 28×28 형태인 x_train 데이터를 1×784로 바꾸는 명령어 reshape: 넘파이의 명령어이고 데이터의 형태를 원하는 대로 바꿀 수 있다. (60000, 28, 28) → (60000, 784)로 데이터의 형태가 된다. X_test (10000, 28, 28) → (10000, 784)로 데이터의 형태가 된다. X_train = X_train.astype('float32') X_test = X_test...
파이썬 파이썬이란 무엇인가? 파이썬을 사용하는 이유 비교적 쉬운 문법이기 때문에 초보자가 접근하기에 좋다 수많은 라이브러리가 있다 인터프리터 언어 명령어를 한 줄씩 번역하는 방법을 사용하는 언어로 작성한 프로그램을 바로바로 확인할 수 있다 코랩 https://colab.research.google.com/ Google Colaboratory colab.research.google.com 텐서플로우 버전 확인 %tensorflow_version 케라스(keras) 딥러닝을 만들 때 사용하는 라이브러리 https://keras.io/ko/ Home - Keras Documentation 모듈성. 모델은, 최소한의 제한으로 다양한 조합이 가능한 독립적이며 완전히 변경가능한 모듈의 시퀀스 혹은 그래프로 이해할 ..
다양한 딥러닝 기술 살펴보기 인공 신경망(ANN): Artificial Neural Network의 약자로 다양한 딥러닝 기술의 기초 심층 신경망: 인공 신경망의 층을 여러 개로 해서 깊게 만든 것으로 이 심층 신경망을 학습시키는 과정 - 딥러닝 컴퓨터의 관점에서 살펴보면 왼쪽과 같은 숫자 0의 이미지는 픽셀로 이루어져 있다 이 이미지에서 각 픽셀은 하나하나의 점으로 이루어져 있지만, 컴퓨터는 이 점을 숫자로 인식 픽셀을 입력값으로 인공 신경망에 넣어 이미지를 인식하는 인공지능을 기본적인 인공 신경망으로 만들 수 있음 이때 가장 간단한 방법은 이미지의 픽셀을 한 줄로 세우는 것 합성곱 신경망 실제 이미지 인식 인공지능을 딥러닝 기법으로 만들 때에는 합성곱 신경망(CNN, Convolutional Neur..
고랑E
'코딩캠프/AI 웹개발 취업캠프' 카테고리의 글 목록 (2 Page)