본문 바로가기

Study/Python27

Python 문자열(string) 그냥 한번 대충 보기 Python string 그냥 한번 대충 보기¶ 문자열에 관하여 간단하게 보는 글 문자열 생성¶ a = 'abcdefgh' b = "12345" c = """ㄱㄴㄷ ㄻㅄ ㅇㅈㅊㅋ""" print(a) print(b) print(c) abcdefgh 12345 ㄱㄴㄷ ㄻㅄ ㅇㅈㅊㅋ 문자열 요소 접근¶배열 접근하듯 하면 된다. a[0] 'a' a[4] 'e' a[-1] 'h' a[1:4] 'bcd' a[-3:] 'fgh' sentence = "hello world" for c in sentence: print(c) h e l l o w o r l d 문자열의 길이는 ?¶ len(sentence) 11 더하기 기호로 문자열 .. 2021. 4. 14.
Python에서 Glob으로 파일 혹은 폴더의 경로 불러오기 Python에서 Glob으로 파일과 폴더경로 불러오기¶ import glob 폴더 구조는 아래와 같다. data폴더와 파이썬 노트북이 하나 존재한다. data폴더엔 abc.tiff파일하나와 train,test 두개의 폴더가 있다. train,test폴더엔 tiff, json파일이 두개씩 존재한다. !ls ./ -R ./: data glob.ipynb ./data: abc.tiff testtrain ./data/test: ccc.json ccc.tiff ddd.json ddd.tiff ./data/train: aaa.json aaa.tiff bbb.json bbb.tiff 현재 폴더에 있는 폴더와 파일의 경로들을 받는다. glob.glob('./*') ['./glob.ipynb&#39.. 2021. 3. 26.
Pytorch Tensor(텐서) 만들기 Pytorch의 Tensor(텐서) 조작하기 1¶ import torch import numpy as np Tensor(텐서) 를 만드는 다양한 방법¶ empty¶주어진 크기의 아무값으로도 초기화되지 않은 텐서를 만든다. 텐서 성분의 값들은 쓰레기값들이다. torch.empty(4) tensor([ 1.6751e-37, -1.9427e-13, 1.6751e-37, -1.9427e-13]) torch.empty((4,5)) tensor([[0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00], [0.0000e+00, 0.0000e+00, 0.0000e+00, 1.4013e-45, 0.0000e+00], [0.0000e+00, 0.0000e+00, 0.0.. 2021. 3. 23.
Kaggle에서 Pytorch로 간단한 Mnist 숫자 분류기 만들기 Pytorch로 간단한 Mnist 숫자 분류기 만들기¶캐글에서 Mnist 숫자를 분류하는 연습을 여기서 할 수 있다. Kaggle에서 제공하는 데이터와 환경으로 간단하게 Mnist 숫자를 분류하는 연습을 해보자. import numpy as np import pandas as pd import matplotlib.pyplot as plt import torch import torch.nn as nn import torch.nn.functional as F from torch.utils.data import Dataset,DataLoader 사용할 경로와 epoch, 배치사이즈, learning rate를 한곳에서 쉽게 조정하여 사용할 수 있도록 하였다. class PATH: TRAIN = '/ka.. 2021. 3. 16.
Pytorch로 선형 회귀(Linear Regression) 구현하기 Pytorch로 선형회귀 구현하기¶ import numpy as np import matplotlib.pyplot as plt import torch import torch.nn as nn from torch.optim import SGD 데이터 생성¶y = 2*x + 10에서 약간의 오차를 준 데이터를 사용하였다. # y = x*2 + 10 data_x = np.random.randint(1,20,20) data_y = np.array([1*np.random.randn() + x*2 + 10 for x in data_x]) data_x = torch.FloatTensor(data_x).unsqueeze(dim=1) data_y = torch.FloatTensor(data_y).unsqueeze(dim=.. 2021. 3. 15.
.py를 .ipynb으로, 또 그 반대로 ipynb-py-convert 를 사용하여 파이썬 스크립트를 노트북파일로 변환하고, 노트북 파일도 스크립트로 변환이 가능하다. 설치법 pip install ipynb-py-convert 사용법 - abc.py를 def.ipynb로 바꿀때 ipynb-py-convert abc.py def.ipynb - abc.ipynb를 def.py로 바꿀때 ipynb-py-convert abc.ipynb def.py 위처럼 입력하면 끝이다. 스크립트를 노트북으로 바꿀때 셀구분이 하고싶을것이다. # %% 로 셀구분이 가능하며, ''' 을 사용한 주석으로 마크다운을 적용할 수 있다. https://pypi.org/project/ipynb-py-convert/ 2020. 10. 17.
Python에서 c,c++ 코드 사용하기 python의 ctypes를 이용하면 c혹은 c++에서 작성한 코드를 사용가능하다. a.cpp 에서 작성한 단순 곱셈함수 mul을 python에서 사용해보자. //a.cpp #include extern "C"{ int mul(int a,int b){ return a*b; } } 위 파일을 공유라이브러리로 만들어 주어야한다. g++로 a.cpp를 liba.so로 만들어주자. g++ -shared -fPIC a.cpp -o liba.so liba.so 파일이 생성되었다. a.py에서 liba.so의 mul을 사용해보자. #a.py import ctypes a = ctypes.CDLL("./liba.so") mul = a.mul print(mul(13,43)) a.py를 실행시키면 559가 출력된다. 2020. 10. 4.