반응형

AI/Deep Learning 10

[Tensorflow 2.x / Keras] 기본 -3 MNIST 셋 활용 / 인공신경망-3 / Relu + Optimizer

지난 게시글에 이어 오늘은 Relu함수와 Optimizer에 대해 공부해보려고 한다. 자세한 내용은 생략하고 코드로 보자~! 1). 데이터셋 가져오기, 훈련세트, 테스트세트, 검증세트로 나누기 from tensorflow import keras (train_input, train_target), (test_input,test_target) = keras.datasets.fashion_mnist.load_data() from sklearn.model_selection import train_test_split train_scaled = train_input/255.0 train_scaled = train_input.reshape(-1,28*28)# -1 : 첫번째 차원은 그대로두고 나머지 차원만 바꾼다. ..

[Tensorflow 2.x / Keras] 기본 -2 패션 MNIST 데이터 셋 활용 / 인공신경망-2 / 다층

지난 번에는 인공신경망에 1층만 만들어서 훈련시켜보았다. 당연히 여러개의 층을 두어 복잡하게, 조금더 높은 성능을 낼수 있을거라고 예상했다. 이번에는 여러층의 모델을 만들어보려고 한다. 1). 기존과동일 하게 데이터셋을 준비한다. 추가로 검증셋까지... from tensorflow import keras (train_input, train_target), (test_input,test_target) = keras.datasets.fashion_mnist.load_data() from sklearn.model_selection import train_test_split train_scaled = train_input/255.0 train_scaled = train_input.reshape(-1,28*28)..

[Tensorflow 2.x / Keras] 기본 -1 패션 MNIST 데이터 셋 활용 / 인공신경망-1 /단층

MNIST데이터 셋중 패션 MNIST 데이터셋을 활용하여 Keras를 공부해보려고한다. 머신러닝 살짝 공부하다가 딥러닝으로 넘어온케이스... 헷갈리는 부분도 많지만 다시 복습하면 더 잘 와닿겠지! 딥러닝 부터는 코드를 직접 적으려고 한다. 1). 데이터셋 불러와 훈련세트, 테스트세트로 분류하기 from tensorflow import keras (train_input, train_target), (test_input,test_target) = keras.datasets.fashion_mnist.load_data() 2). 데이터셋 구조 확인 print(train_input.shape,train_target.shape) ==> (60000, 28, 28) (60000,) print(test_input.sh..

[Tensorflow2.x] CheckPoint란?

Tensorflow2.x를 사용하지만 1점대를 사용하며 공부하고 있어서 이점 참고하길 바란다. 1). ChechPoint란? Tensorflow 로 학습시킨 딥러닝 모델을 저장하는 방법중 하나로 Checkpoint 을 이용하는 방법이 있다. Checkpoint 는 학습된 모델의 Variable 값을 저장하는 파일이다. Checkpoint는 개발자가 딥러닝 모델을 구현해놓은것을 저장해 놓고 로드해서 사용하는것으로 생각하면 된다. 2). CheckPoint 저장방법 #Checkpoint 저장 saver = tf.train.Saver() saver.save(sess,"D:\\DATA\\test.cpkt") #Checkpoint 불러와서 저장한다. save_path = "D:\\DATA\\baechooe.cpk..

[Tensorflow2.x] Linear Regression(선형회귀) 란?

데이터를 해석하여 다음번에 어떤 일이 발생할지 예측하기 위해 머신러닝을 사용한다. 이 때 활용할 수 있는 가장 간단한 모델은 바로 직선이라고한다. 이때 데이터를 가장 잘 대표하는 1개의 직선은 Linear Regression이다. Linear Regression 알고리즘은 학습 데이터가 주어졌을 때, Cost 값을 최소화 시켜주는 Hypothesis의 Parameter(W, b)를 찾는 알고리즘이다 1). Poinsts and Lines (점,선) 하나의 직선은 slope과 intercept에 의해 정의될 수 있다. 수식 y = mx +b 여기서 m이 slope이고, b가 intercept이다. Linear Regression을 수행하는 최종 목표는 입력한 데이터들을 가장 잘 표현할 수있는 m과 b를 찾..

[Tensorflow2.x / Keras] 손글씨 숫자 분류를 위한 신경망 만들기

Keras란? 파이썬 딥러닝 라이브러리 컨볼루션 신경망, 순환 신경망, 그리고 둘의 조합까지 모두 지원 CPU와 GPU 둘다 매끄럽게 실행 측정항목 모델의 성능을 평가하는데 사용되는 측정항목함수는 모델이 컴파일 될때 metrics 매개변수를 통해 공급됨 측정 항목을 평가한 결과는 모델을 학습시키는데 사용되지 않는다. 어느 손실함수나 측정항목 함수로 사용가능 MNIST Dataset을 이용하여 데이터를 가져와서 사용하였다. 손글씨 이미지 여러개와 숫자 여러개를 조합해서 훈련시키는 방식으로, 훈련을 시키고난뒤에 일치하는 숫자를 출력하는 형식 결과 : 이 데이터셋에서 5번의 훈련으로 약 98% 정도의 정확도를 만들어냈다. 어려우니 코드를 자세하게 설명해놔야겠다. 1). 데이터 범위설정 손글씨 숫자 이미지 데이..

[Tensorflow2.x] numpy란? -1

Java 개발자였던 내가 Tensorflow를 갑자기 공부하다보니 모든것이 모르는 점 투성이다... 우선 아래 코드를 실행하다가 numpy라는게 나왔는데, 무엇인지 알아보고 가야 속시원하지? v.read_value().numpy() => 1.0 이 나온다. 자 여기서 numpy라는 개념이 나오는데, numpy에 대해 알아보자 Numpy란? Python 패키지 Scientific computing 을 위한 다양한 기능을 제공하는데, Matrix를 쉽게 다룰 수 있도록 도와준다. 연산과 조작등을 맡아서 해주는 기본중에 기본인 아이.. 1). Matrix Create 1-1). [List로 Matrix 생성] 1-2). [특정값으로 Matrix 생성] 1-3). [무작위값으로 Matrix 생성] Numpy R..

[Tensorflow2.x] Tensorflow의 이해

텐서플로우가 어떻게 작동하는지, 어떤 구조를 가지고 있는지 그 Flow에 대해서 알아보도록 하자. 독학은 참 어렵지만 새로운것은 항상 재밌다. 1). 플로우(Flow) : Data Flow Graph Computation 텐서플로우는 병렬처리가 필수인데, 대용량데이터의 연산때문이다. 연산구조이다. 노드를 연결하는 엣지가 데이터를 / 노드는 데이터를 통해 수행하는 연산 역할을 하는 그래프 구조를 의미한다. ** 여기서 노드와 엣지란? 엣지(Edge)는 텐서를 의미하며 엣지의 방향은 텐서의 흐름을 의미하고 노드(Node)는 곱하고, 나누는 등 텐서를 처리하는 연산을 말합니다. 2). 그래프 구조(Graph structure)와 Data Flow 구조 Data Flow를 이해하려면 그래프구조를 알아야한다. 그..

[Tensorflow2.x] Tensorflow란 무엇인가 + 자료형

1). 텐서플로우(TensorFlow)는 텐서(Tensor)와 "흐르다"의 영어표현인 플로우(Flow)를 합친뜻 결국 "텐서라는것이 흐른다" 라는 모습을 브랜딩화 했다고 한다. 2). 텐서(Tensor란)? 공식사이트 정의 : 텐서(tensor)는 벡터와 행렬을 일반화한 것이고 고차원으로 확장 가능. 내부적으로 텐서플로는 기본적으로 제공되는 자료형을 사용해 n-차원 배열로 나타낸다. 간단하게 생각하면 텐서는 텐서플로우가 연산하기 위해 사용하는 자료형, 데이터의 형태이다. 머신러닝에서는 데이터를 N차원의 배열로 구성하는데, 예를 들어 RDB로 비교를 해본다면 각 컬럼의 갯수가 N개이면, 해당 데이터로 1차원 ~ N차원상의 배열까지 만들 수있다. 3). 텐서의 구성요소 텐서 플로우의 자료형인 텐서는 랭크, ..

[Tensorflow2.x] Anaconda Tensorflow(2.3.0) 설치 (Pyhton 3.7)

가상환경 조회 : conda info --env 가상환경 실행 : conda activate (가상환경명) 현재 : Python 3.8.6 설치되어있슴 OS : Window anaconda 설치 후 pip 업그레이드 - pip install --upgrade pip - 오류 Could not install packages due to an EnvironmentError: [WinError 5] 액세스가 거부되었습니다 - 해결방안 관리자 권한이 필요하여 생긴 오류 -> 관리자권한으로 anaconda prompt 실행 가상환경 생성 conda create -n tensorflow(가상환경명임) pip python=3.8(Python 버전임) -> y/n 물음에 y 가상환경 이동 => conda activat..

반응형