전체 글

전체 글

    상수, 시퀀스, 그리고 난수

    해당 포스팅은 tensorflow korea 자료가 더 좋아 링크만 달아두었습니다. 기억 안날 때 두고두고 볼라구... tensorflowkorea.gitbooks.io/tensorflow-kr/content/g3doc/api_docs/python/constant_op.html 상수값 텐서 tf.zeros tf.zeros_like tf.ones tf.ones_like tf.fill tf.constant 시퀀스 tf.linspace tf.range 난수 텐서 tf.random_normal tf.truncated_normal tf.random_uniform tf.random_shuffle tf.random_crop tf.multinomial tf.set_random_seed

    [Linear Regression]  Multi variable linear regression

    [Linear Regression] Multi variable linear regression

    모두의 딥러닝 시즌 2 정리... 현재까지 학습한 linear regression은 다음과 같다. Hypothesis : 우리의 가설, 우리의 모델 Cost function : 우리의 예측과 실제의 차이를 제곱한 것의 평균. 제곱을 하는 이유는 마이너스를 배제하기 위해 Gradient descent : cost를 최소화하는 과정 => cost를 최소화하는 W, b를 찾는 과정. 즉, 학습 과정 Predicting exam score 예제로 시험의 점수를 예측하는 모델을 생각해보자. 아래의 그림은 입력이 1개이고 우리가 예측하려는 값도 1개이다. 이때 변수가 1개이고 이 변수를 Feature라고도 한다. regression using one input (x) One-variable(One-feature) ..

    [Linear Regression] How to minimize cost

    [Linear Regression] How to minimize cost

    모두의 딥러닝 시즌 2 정리... 이전 글에서는 linear regression에 대한 개념을 알아보았다면 이번 글에서는 cost를 최소화하는 구체적인 방법과 알고리즘에 대해 좀 더 깊이 있게 살펴보도록 하겠다. [Linear Regression] 개념 부분에서 살펴본 Hypothesis와 cost에 대한 내용은 다음과 같다. 우리는 Hypothesis를 바탕으로 Cost 함수를 정의한 바 있다. 해당 cost 함수는 우리의 가설과 실제 데이터의 차이를 제곱한 값의 전체 합에서 데이터의 개수로 나눠서 도출한 평균 값이다. 위의 Cost 함수는 W, b에 대한 함수이고 이 W, b에 따라서 Cost의 결과값이 달라지게 된다. (우리의 가설과 실제 데이터의 차이를 Error라고 명칭하기도 한다.) 이때 이 ..

    [Python] with 문

    파이썬의 with...as 구문은 파일 스트림을 다루는데 있어서 파이썬에서 제공하는 강력한 기능 중 하나다. 파일을 다루는 처리를 할때는 필수적으로 파일 오픈(open) 파일 닫기(close) 과정을 거치게 된다. 하지만 코드가 복잡해지면서 개발자는 파일을 열어놓고 닫지 않는 실수를 할 경우가 생기게 된다. with ... as 구문을 사용하게 되면 파일을 열고 해당 구문이 끝나면 자동으로 닫히게 되어서 이러한 실수를 줄일 수 있다. [문법] with EXPRESSION [as VARIABLE]: BLOCK cs 다음과 같은 코드가 있다면 file_data = open('file.txt') print(file_data.readline(), end="") file_data.close() cs 아래처럼 바꿀..

    [Linear Regression] 개념

    [Linear Regression] 개념

    머신 러닝의 개념 중 지도학습(Supervised Learning)에 대하여 정리한 적이 있다. 그 중 머신러닝의 선형 회귀(Linear Regression)의 개념을 정리해보자. 회귀 분석(Regression Analysis) 먼저 회귀 분석이란 무엇인까? 회귀의 사전적인 의미는 "다시 예전의 상태로 돌아감" 을 의미한다. 이 용어는 영국의 유전학자 Francis Galton 이라는 분이 유전의 법칙을 연구하다 나온 것에 기인하게 되는데 대략적인 연구내용을 살펴보자면 부모와 자녀의 키 사이의 관계를 연구하면서 나오게 된 연구의 결과로 자녀의 키가 아버지 그리고 어머니 키의 평균을 조사하여 표로 나타낸 결과 결국 자녀의 키는 엄청 크거나 작은 것이 아닌 그 세대의 평균으로 돌아가려는 경향이 있다는 것을 ..

    파이썬 텐서플로우 에러해결 :: AttributeError: module 'tensorflow' has no attribute 'Session' / RuntimeError: The Session graph is empty. Add operations to the graph before calling run().

    파이썬 텐서플로우 에러해결 :: AttributeError: module 'tensorflow' has no attribute 'Session' / RuntimeError: The Session graph is empty. Add operations to the graph before calling run().

    모두를 위한 딥러닝 첫 강의부터 에러...;; tensorflow부터 다시 공부하는 차원에서 강의 첫 코드를 작성했는데 에러 발생... 아래 코드를 실행하면 다음과 같은 오류가 발생함. # Create a constant op # This op is added as a node to the default graph hello = tf.constant("Hello, TensorFlow!") # seart a TF session sess = tf.Session() # run the op and set result print(sess.run(hello)) cs 구글링 결과 tf.Sesstion()의 경우 tensorflow 버전 1.x.x 에서 사용하는 표현 방식... (본인은 tensorflow versio..

    if __name__ == '__main__': 사용하는 이유

    if __name__ == '__main__': 사용하는 이유

    파이썬 소스 코드를 보다보면 자주 마주하게 되는 한 줄은 다음과 같다. if __name__ == "__main__": // 코드 // 코드 "__main__"이라고 써져 있는데 파이썬은 C언어 또는 자바와 같은 언어에서 항상 사용하는 main()이라는 함수가 존재하지 않는다. 그렇다면 "__main__"은 대체 무엇일까? 라는 의문에 해당 글을 작성한다. 차근차근 알아보는 걸로.... __name__ 파이썬은 다양한 정보를 담고있는 내장 변수가 존재한다. 이중에서 __name__이라는 내장변수에 대해 먼저 알아보겠다. 이는 현재 모듈의 이름을 담고있는 내장 변수이다. 이 변수는 직접 실행된 모듈의 경우의 경우 __main__이라는 값을 가지게 되며, 직접 실행되지 않은 import된 모듈은 모듈의 이름..

    Thread를 사용하는 이유와 발생할 수 있는 문제들

    Thread를 사용하는 이유와 발생할 수 있는 문제들

    Python은 하나의 Thread(Main Thread)로 시작한다. Main Thread는 혼자서 순차적으로 코드를 실행하게 된다. 하지만 실행되던 중간에 Blocking Function, 예를 들어서, Input과 같은 함수를 만나면 그 함수의 실행이 끝날 때까지 기다리게 된다. Main Thread가 멈추게 되면 다른 함수를 실행할 수가 없게 되는데 이때 우리는 Thread를 하나 더 만들어서 다른 함수를 병렬적으로 Blocking Function과 같은 함수와 함께 실행할 수 있다. 하지만 Thread를 여러 개를 사용할 때 주의해야 할 것들이 많다. 이번 글에서는 Thread를 사용할 때 주의해야 할 점과 생각해야 할 문제들을 소개해 보고자 한다. 1. 전역 변수를 공유한다 문제의 상황: 서로 ..

    파이썬 스레드

    파이썬 스레드

    목차 프로세스 스레드 스레드란? threading 모듈 사용하기 데몬 스레드 만들기 프로세스와 스레드 운영체제에서 어떤 실행 프로그램이 실행된다는 것은 CPU, 메모리, SSD와 같은 컴퓨터 자원을 사용합니다. 따라서 운영체제는 프로그램들이 마음껏 실행될 수 있도록 전용 '놀이터'와 같은 공간을 제공해주는데 이를 프로세스라고 합니다. 응용 프로그램의 코드는 이 놀이터에서 마음껏 놀 수 (실행할 수) 있으며 외부 세계에 대해서 걱정할 필요가 없습니다. 하지만 만약 어떤 코드가 자신에게 부여받은 놀이터 공간을 벗어나 다른 영역으로 가려면 하면 운영체제에 의해 종료되어버립니다. 놀이터에는 응응 프로그램이 놀 수 있습니다. 운영체제 입장에서 놀이터에 있는 플레이어를 스레드라고 부릅니다. 어떤 응용 프로그램은 한..

    Python argparse 사용법

    목차 Import argparse -help, -h argument 이름 정의 type 지정 positional / optional 인자 default 값 지정 action의 종류 지정 attribute name : -, _ 구분 dest: 적용 위치 지정 nargs: 값 개수 지정 choices : 값 범위 지정 metaver : 이름 재지정 해당 글은 개인 공부를 위해 다른 블로그를 그대로 따왔습니다. 문제가 될 시 삭제하도록 하겠습니다. 해당 글은 argparse에 대해 알아본다. Machine Learning 코드를 볼 때 자주 볼 수 있다. Import import argparse cs argparse python train.py --epochs 50 --batch-size 64 --save-d..