본문 바로가기

Python85

[Python] Tensorflow로 나만의 데이터셋 만들기 안녕하세요. 오늘은 텐서플로우로 커스텀 데이터셋을 만드는 방법 예제를 진행하겠습니다. 이 예제는 분류 모델에서 사용가능한 데이터셋입니다. 먼저, 구글 colab을 이용해서 예제를 진행하겠습니다. 먼저 데이터셋에 사용할 이미지들을 다음과 같이 구성하겠습니다. 저는 위의 데이터셋이라는 폴더 안에 3개의 폴더에 이미지를 넣어놨습니다. 분류모델 학습을 위한 데이터셋이고, 각 폴더의 이름이 클래스명이 됩니다. 즉, 위의 데이터셋이라는 폴더 안에 있는 이미지들로 데이터셋을 구성하면 3개의 클래스를 가진 데이터셋이 됩니다. import tensorflow as tf from tensorflow import keras img_gen = tf.keras.preprocessing.image.ImageDataGenerato.. 2023. 1. 18.
[Python] pickle 모듈을 사용해서 직렬화, 역직렬화 하기 파이썬의 객체를 일련의 바이트들로 변환한 후 나중에 다시 파이썬 객체로 복원하게 할 수 있는데, 이렇게 파이썬 객체를 일련의 바이트들로 변환하는 것을 직렬화(Serialization)라 하고, 다시 바이트들을 파이썬 객체로 메모리 상에 복원하는 것을 역직렬화(Deserialization)이라 합니다. 직렬화 방식에는 Pickle, JSON, YAML 등 여러가지가 있습니다. Pickle 방식으로 직렬화를 하면 데이터가 바이너리 형식으로 저장되기 때문에 사람이 읽을 수 없는 반면, 저장이나 전송이 효율적입니다. 대신 JSON, YAML 방식은 저장이나 전송이 Pickle 보다는 덜 효율적이지만 사람이 읽을 수 있는 형태로 저장되기 때문에 가독성이 좋은 장점이 있습니다. 그리고 Pickle 방식으로 거의 모.. 2023. 1. 8.
[Python] pandas.concat() 함수로 데이터프레임 합치기 오늘은 pandas.concat() 함수를 사용하여 데이터프레임들을 합치는 방법을 알아보겠습니다. pandas.concat() 함수는 기본적으로 시리즈나 데이터프레임과 같은 판다스 객체들을 특정 방향(축)으로 이어붙이는 함수입니다. 문법은 다음과 같습니다. pandas.concat(objs, *, axis=0, join='outer', ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=False, copy=True) 아래는 자주 사용되는 파라미터들에 대한 설명입니다. objs : a sequence or mapping of Series or DataFrame objects 이어붙일 시리즈/데이터프레임들을.. 2023. 1. 7.
[Python] Tensorflow 분류모델에서 훈련결과 추론해보기 안녕하세요. 오늘은 텐서플로우에서 학습이 끝난 모델을 가져와서 결과를 추론하는 예제를 진행하겠습니다. 사용하는 라이브러리를 선언해줍니다. import tensorflow as tf import cv2 import numpy as np import matplotlib.pyplot as plt from google.colab.patches import cv2_imshow 구글 드라이브 마운트를 하신 후, 다음과 같이 tf.keras.models.load_model() 를 사용해서 저장된 모델을 불러오시면 됩니다. dir = "/content/drive/Mydrive/스틱코드/저장된가중치.h5" model = tf.keras.models.load_model(dir) test_dir 에 추론할 이미지 경로를 넣.. 2023. 1. 6.
[Python] Colab을 사용하는 법 & 구글 드라이브 연동하기 안녕하세요! 오늘은 colab 사용법과 구글드라이브 연동 예제를 진행하겠습니다. Colab 이란? colab은 정식명칭인 colaboratory의 줄인말로 구글 리서치팀에서 개발하고 운영하고 Jupyter notebook 위에서 동작하는 서비스 입니다. 기본적으로 무료이며 기본은 CPU동작 이지만 런타임 유형변경을 통해 기본 제공되는 GPU사용이 가능합니다. 무료 런타임은 기본 12시간으로 구독서비스를 이용하신다면 24시간으로 바뀌게 됩니다. 물론 무료가 런타임이 12시간 이라고는 하지만 실제 이용시 12시간까지 유지되는 경우는 잘 없습니다. colab 사용은 두가지 셀로 구성이 됩니다. 텍스트 셀과 코드 셀 입니다. 텍스트 셀은 마크다운으로 사용하시면 됩니다. 코랩에서 사용하는 대표적인 단축키는 다음과.. 2023. 1. 3.
[ Python ] csv 파일을 불러와서 판다스 데이터프레임 생성하기 안녕하세요, 오늘은 csv 파일을 불러와서 판다스 데이터프레임을 생성해보겠습니다. 사용할 csv 파일은 공공데이터포털에서 다운로드 받은 '서울특별시 송파구_체육시설' 데이터 (csv파일) 를 사용하겠습니다. pd.read_csv() 함수를 사용하면 csv, text 등의 형식의 파일들을 불러와서 데이터프레임으로 생성할 수 있습니다. import pandas as pd df = pd.read_csv('서울특별시 송파구_체육시설_20210916.csv') 하지만 위의 코드를 실행하면 다음과 같은 에러가 발생합니다. UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbe in position 0: invalid start byte 이는 데이터 내에 한글이 포함되어.. 2022. 12. 29.
[ Python ] 판다스 데이터프레임을 csv 파일로 저장하기 안녕하세요, 오늘은 판다스 데이터프레임을 csv 파일로 저장해보겠습니다. 먼저 간단한 형태의 데이터프레임을 생성하겠습니다. import pandas as pd names = ['Kim', 'Park', 'Lee', 'Shin'] ages = [25, 29, 21, 33] address = ['서울', '대구', '춘천', '제주'] dictionary = { 'Name' : names, 'Age' : ages, 'Address' : address } df = pd.DataFrame(dictionary) 생성된 데이터프레임은 다음과 같습니다. 가장 간단한 형태로 데이터프레임을 csv 파일로 저장하는 방법은 다음과 같습니다. df.to_csv('file_name.csv') 파일이 현재 경로에 저장이 되고, .. 2022. 12. 20.
[Python] json encode, decode하기 파이썬의 json 패키지를 사용해 dict 타입의 변수를 json으로도 만들고 json을 다시 dict로 변환해보겠습니다. json 패키지의 dumps() 함수를 사용해 encode를, loads() 함수를 사용해 decode를 해주면 됩니다. john = dict( name='john', age=33, contact=dict( email='john@sample.email.com', phone=1234567890, chat_id='johnC' ) ) john_json = json.dumps(john) john_decode = json.loads(john_json) print(type(john)) print(john) print(type(john_json)) print(john_json) print(typ.. 2022. 11. 22.
[Python] for문 사용하기 프로그래밍 언어의 기본 반복문을 파이썬에서 사용하는 방법을 알아봅시다 다른 언어와 비슷하지만 파이썬 특유의 편한 면이 있어요! 아래 예시를 보면서 for문을 사용해보면서 상황에 맞게 for문을 잘 활용하시면 좋을 것 같습니다. 아래 세가지 예 외에도 다양한 활용방법이 있으니 공식문서 또는 구글링을 통해 알아보세요 # 1부터 시작해 9(10-1)까지 반복. _라는 변수에 값이 담김 for _ in range(1, 10): print(_) # 튜플 리스트를 사용해 튜플 개수만큼 튜플 내용 출력 t = [(12, 'hello'), (90, 'hi'), (23, 'world')] for a, b in t: print(f'{a} : {b}') # 리스트 사용해 리스트 요소 출력 l = [90, 25, 67, 45.. 2022. 11. 7.