반응형

2021/01/11 6

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

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

[Python] 머신러닝 Scikit-learn(사이킷런) 사용하기

설치 : conda install scikit-learn 으로 Anaconda에서 설치 scikit-learn 이란? scikit-learn이란 python을 대표하는 머신러닝 라이브러리이다. '사이킷런'이라고 부르기도 한다. scikit-learn은 오픈 소스로 공개되어 있으며, 개인, 비즈니스 관계없이 누구나 무료로 사용가능하다. scikit-learn은 현재도 활용하여 개발이 이루어지고 있으며, 인터넷 상에서 정보를 찾기에도 싶다. 많은 머신러닝 알고리즘이 구현되어 있는데, 어떤 알고리즘도 같은 방식으로 이용이 가능하다. 또, 샘플 데이터 셋(토이 데이터 셋)이 부속되어 있으므로, 설치하여 바로 기계 학습을 시험해볼 수 있다. 그러므로 초심자가 기계학습을 배우기 시작할 때 적합한 라이브러리라고 말한..

[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..

반응형