전체 글

코딩으로 4차 산업혁명에 대비하자
Machine Learning

ML with pytorch

출처: 차근차근 실습하며 배우는 파이토치 딥러닝 프로그래밍 경사하강법 구현 방법 예측 계산, 손실 계산, 경사 계산, 파라미터 수정 4개의 단계로 진행된다. 데이터 입력 및 변환 sampleData1 = np.array([ [166, 58.7], [176.0, 75.7], [171.0, 62.1], [173.0, 70.4], [169.0,60.1] ]) print(sampleData1) 데이터를 불러와서 독립변수, 종속변수를 나눠준다 x = sampleData1[:,0] y = sampleData1[:,1] print(x) #독립변수 print(y) #종속변수 [166. 176. 171. 173. 169.] [58.7 75.7 62.1 70.4 60.1] X = x - x.mean() Y = y - y...

Python

파이토치 기본 기능

출처: 차근차근 실습하며 배우는 파이토치 딥러닝 프로그래밍 파이토치의 최대 특징은 자동 미분 기능이다. 0계 텐서는 스칼라, 1계 텐서는 벡터, 2계 텐서는 행렬을 뜻함. import torch r0 = torch.tensor(1.0).float() print(type(r0)) print(r0.dtype) torch.float32 텐서 변수가 생성될 때는 반드시 뒤에 float()을 호출해서 float32로 변환해야한다.0계 텐서이기 때문에 []가 비어있다. 만약 2행 3열인 2계텐서가 있으면 Torch.Size([2,3])이 출력된다. print(r0.shape) print(r0.data) torch.Size([]) tensor(1.) 1계텐서는 다음과 같다. torch.tensor 인수로 넘파이 배열..

Python

객체지향 프로그래밍 복습

출처: 차근차근 실습하며 배우는 파이토치 딥러닝 프로그래밍 클래스는 틀, 인스턴스는 이 틀로부터 생성된 개별적인 실체다. 클래스는 속성이라고 하는 클래스 안의 변수(파라미터)를 가지고, 함수(def)로 정의되는 것은 메서드라고 한다. Point import matplotlib.pyplot as plt import matplotlib.patches as patches class Point: def __init__(self,x,y): self.x = x self.y = y def draw(self): plt.plot(self.x,self.y,marker='o',markersize=10,c='k') __init__은 초기화 처리를 위한 함수, self는 인스턴스 자신이다. p1 = Point(2,3) p2 =..

코딩테스트

백준 24313번 파이썬 - 알고리즘 수업 - 점근적 표기 1

https://www.acmicpc.net/problem/24313 24313번: 알고리즘 수업 - 점근적 표기 1 f(n) = 7n + 7, g(n) = n, c = 8, n0 = 1이다. f(1) = 14, c × g(1) = 8이므로 O(n) 정의를 만족하지 못한다. www.acmicpc.net 문제 오늘도 서준이는 점근적 표기 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 알고리즘의 소요 시간을 나타내는 O-표기법(빅-오)을 다음과 같이 정의하자. O(g(n)) = {f(n) | 모든 n ≥ n0에 대하여 f(n) ≤ c × g(n)인 양의 상수 c와 n0가 존재한다} 이 정의는 실제 O-표기법(https://en.wikipedia.org/wiki..

Python

구멍 숭숭난 기초 지식채우기 II

출처: Do it 점프투 파이썬 dir은 객체가 자체적으로 가지고 있는 변수나 함수를 보여줌. print(dir([1, 2, 3])) print(dir({'1', 'a'})) divmod는 7나누기 3은 몫은 2, 나머지는 1 몫과 나머지를 튜플 형태로 돌려주는 함수다. print(divmod(7, 3)) # (2, 1) print(divmod(1.3, 0.2)) # (6.0, 0.09999...) eval은 실행 가능한 문자열(1+2,'hi'+'a' 같은 것)을 입력으로 받아 문자열을 실행한 결과값을 돌려주는 함수이다. print(eval('1+2')) # 3 print(eval("'hi' + 'a'")) # 'hia' print(eval('divmod(4, 3)')) # (1, 1) isinstanc..

Python

구멍 숭숭난 기초 지식 채우기

분명 다 배운건데 너무 옛날에 배워서 (3년전) 기억이 날듯말듯하는 파이썬 기초 문법들 다시 정리하기,, 출처: Do it 점프 투 파이썬 "%10s" % "hi" ' hi' 전체 길이가 10개인 문자열 공간에서 대입되는 값을 오른쪽으로 정렬하고 나머지는 공백으로 남김 즉 공백은 8개 h i "%-10sjane" % "hi" hi에서 jane 전까지의 길이는 10개이고, 공백은 8개다. format 함수 number = 10 day = "three" "I ate {0} apples. so I was sick for {1} days.".format(number, day) I ate 10 apples. so I was sick for three days. format 함수를 통한 포매팅 시 인덱스 항목이 f..

Python

클래스

출처: Do it! 점프 투 파이썬 class Calculator : def __init__(self) : self.result = 0 def add(self, num) : self.result += num return self.result cal1 = Calculator() cal2 = Calculator() calculator 클래스로 만든 별개의 계산기 cal1 cal2(객체)가 각 역할을 수행한다. 클래스로 만든 객체를 인스턴스라고 한다. 여기서 cal1, cal2는 객체, cal1, cal2의 객체는 Calculator의 인스턴스이다. 인스턴스는 특정 객체(cal1,cal2)가 어떤 클래스(Calculator)의 객체인지 관계 위주로 설명할 때 사용한다. 즉 cal1,cal2는 Calculato..

코딩테스트

백준 2869번 파이썬 - 달팽이는 올라가고 싶다

https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽..