파이썬 9

Anaconda없이 Python 가상환경 만들기

리눅스에서 진행했습니다. 공식 Document 12. Virtual Environments and PackagesIntroduction: Python applications will often use packages and modules that don’t come as part of the standard library. Applications will sometimes need a specific version of a library, because the ...docs.python.org  1. 가상환경을 지원하는 툴을 설치합니다. (이미 설치되어있다면 2번부터 진행해주세요.)sudo apt install python3.8-venv 2. 원하는 위치에 가상환경 폴더를 생..

Programming/python 2024.04.08

Matplotlib 그래프 시각화 방법 - 두 그래프 평행하게 그리기 (tensorflow, numpy 수치데이터)

python의 대표적인 시각화도구인 matplotlib 라이브러리를 사용하여, log함수를 예시로 그래프를 그려보겠습니다. 먼저, 함수를 임포트 시켜줍니다. import matplotlib.pyplot as plt log함수를 그려주기 위해서는 log함수의 x, y좌표값들을 만들어주어야 합니다. x, y값들은 Numpy, Tensorflow 두가지 방법으로 데이터를 만들어 보겠습니다. Numpy로 log함수의 x, y 세트 만들기 import numpy as np x_np = np.linspace(0.1, 10, 1000) y_np = np.log(x_np) Tensorflow로 log함수의 x,y 세트 만들기 import tensorflow as tf x_tf = tf.linspace(0.1, 10, ..

Tensor란 무엇인가? (+ Python Numpy Tensor 구현 및 기본 기능)

Tensor란 무엇일까? 우리는 중고등학생때, 스칼라, 벡터, 행렬까지 배웠다. 0차원인 스칼라, 1차원인 벡터, 2차원인 행렬,,, 그럼 3차원부터는?! 그게 바로 텐서라고 하는 것이다. 3차원 이상은 모두 텐서의 형태로 표현해주고, 이러한 텐서 형태를 가져와서 스칼라, 벡터, 행렬도 텐서로써 표현해줄 수도 있다. 편의상 모든 값들을 텐서형태로 정의해주는 것으로 보면 되고, 아래의 표가 모든 텐서 종류들을 정리한 내용이다. 텐서의 종류 텐서의 종류 (영어) 형태의 명칭 형태의 명칭 (영어) 0차원 텐서 Zeroth-order Tensor 스칼라 Scalar 1차원 텐서 First-order Tensor 벡터 Vector 2차원 텐서 Second-order Tensor 행렬 Matrix 3차원 텐서 Th..

[Python] 시뮬레이션 알고리즘 (Simulation Algorithm) - 게임 개발 (문제 예제)

시뮬레이션 알고리즘 (Simuliation Algorithm)은 말 그대로 어떤 문제에서 제시된 수행 조건들을 한 단계씩 순서대로 수행하도록 구현하는 알고리즘이다. 보통 캐릭터를 2차원 공간의 게임 맵안에서 이동시키는 구현에 많이 사용된다. 아래가 시뮬레이션 알고리즘의 예제이다. 게임 개발 N * M 직사각형의 게임판 (3

Programming/python 2023.08.17

프로그래머스 연습 문제 > 정렬 > 가장 큰 수

문제 설명0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예numbersreturn[6, 10, 2]"62..

Programming/python 2023.07.15

[머신러닝] 학습, 검증, 테스트 데이터 쪼개는 법 : random_split PyTorch), train_test_split(Scikit-learn)

1. Pytorch * MNIST데이터를 예시로 불러와 train 데이터셋을 train과 validation 데이터셋으로 나누어 보는 작업 - 데이터셋을 쪼갤 때, torch.utils.data.random_split 모듈을 활용하면 된다. - random_split(pytorch에서 불러온 데이터셋 변수, [len(train_dataset), len(validation_dataset)]) 로 간단하게 분리가 가능하고, 데이터를 쪼개면서 데이터를 뒤섞고 싶을 때, generator 옵션을 사용하면 된다. (python 내장 함수인 help를 활용하여 random_split에 파라미터들을 미리 확인할 수 있다.) # 예시 코드 train_dataset = MNIST(os.getcwd(), download=..

AI/Fundamental 2022.08.26

Linux에 ML환경 구축하기 (2) - anaconda, pytorch, tensorflow2, pip3, jupyter lab / notebook 설치 방법 모음

https://kyull-it.tistory.com/19 Linux에 ML환경 구축하기 (1) - CUDA, cuDNN 여러 버전 한 컴퓨터에 설치하기 + 드라이브 설정 ※ Ubuntu LTS 20.04 버전 설치 필수 (22.04버전에서는 Pytorch, Tensorflow지원 CUDA 호환X) - 2022.08.16 기준 1. GPU 스펙 확인 - CUDA설치가 가능한 시스템을 갖추고있는지 확인하는 과정 - 필자는 컴퓨터 전체 스 kyull-it.tistory.com # 1 : Anaconda 설치방법 - Linux anaconda installation Manual https://docs.anaconda.com/anaconda/install/linux/#installation Installing o..

[Python Grammer] Comprehension - list, set, dictionary

python 특유의 문법으로 몇 줄의 긴 코드를 한줄로 처리할 수 있게 해주는 아주 편리한 문법이다. [Example 1 : list comprehension] list = [1,2,3,4] #Original total = 0 for i in list: total += i print(total) #List Comprehension print(sum(i for i in list)) [Example 2 : set comprehension] list2 = [['One', 1], ['Two', 2], ['Three', 3], ['Four',4]] #Original s = set() for i in list2: s.add(i[1]) #Set Comprehension s = {i[1] for i in list2} ..

Programming/python 2022.08.03

파이썬에서 JSON 파일 읽고, 쓰기

# JSON (제이슨, JavaScript Object Notation) : 속성 - 값 (attribute–value pairs) 또는 키 - 값(key - value pairs) 쌍으로 이루어진다. 이는 python의 dict 형태와 같다. # JSON의 기본 자료형 (출처 : 위키백과) - 수(number) : 정수형 또는 실수형, int or real, 8진수, 16진수 표현 불가 - 문자열(string) - 참/거짓(true / false) : 소문자 - 배열(array) : 대괄호 [] 사용 - 객체(object) : 순서가 없는 이름/값 쌍의 집합으로 이름(키)이 문자열이다. 중괄호 {}사용 - null : 빈 값 여러가지 데이터를 다루다보면 json 형태로 되어있는 자료들을 많이 발견할 수..

Programming/python 2021.09.05