1-5 TensorFlow 1.15.0 과 2.0 버전 사이에서 TensorfFlow 2.0 으로의 업그레이드에 앞서 텐서플로우 1.15.0 버전에서 실행되는 MNIST 코드를 어떻게 사용할 것인지 살펴보자. 다음의 헤더영역의 명령 구조를 관찰해 보자. 첫줄은 tensorflow 2.0 으로 선언하여 tensorflow 라이브러리를 불러들이는 명령으로서 앞으로 2.0을 사용하게 되면 자주 사용.. 머신러닝 2020.01.25
1-4 Anaconda에서 TensorFlow 2.0 버전 보다 낮은 1.15.0 설치 요령 2020년 이 시작되자 Anaconda에서 TensorFlow 2.0 이 활발하게 설치되는 분위기 이다. 하지만 사용해보니 버전 2.0 이하에서 작성했던 코드의 업그레이드 작업이 웬만한 전문가가 아니라면 순간적으로 적응하는 것이 불가능하므로 당분간 2.0 바로 밑인 1.15.0 버전이 필요하다면 어느 정도 계속 사용해야 할 필요가 느껴진다. 2.0 보다 낮은 TensorFlow 1.15.0을 한 방에 정확하게 설치해 보자. 파이선은 2021년 현재 3.8 수준이므로 그대로 설치하자. 가상환경 명칭은 tensorflow_env 로 하자. Anaconda Navigator의 Environments에서 해당 가상환경을 지정하고 세모 버튼을 누른 후 나타나는 명령 창에서 다음과 같이 pip 명령을 사용하여 설치.. 머신러닝 2020.01.25
1-3 Anaconda Navigator Environments에서 직접 TensorFlow 와 관련 라이브러리를 설치해 보자. 아나콘다 네비게이터 Envirinments 하단의 Create 버튼을 누르면 오른 쪽 Create new environment 창이 나타남을 볼 수 있다. Name 박스에 새로이 설치하려는 가상 환경 이름을 입력하자. 여기서는 tensorflow_old 로 입력하였으며 아울러 Python 버전 3.5를 선택하고 Create 버튼을 클릭하면 tensorflow_old 가상환.. 머신러닝 2020.01.24
1-2 TensorFlow 2.0 업그레이드 후 출현하는 에러 메시지 처리 요령 텐서플로우 2.0 으로 업그레이드 후 1.6 버전에서 실행에 아무런 문제가 없던 코드를 실행한 결과 다음의 메시지가 출현했다. 예를 들면 tf.placeholder 가 유지보수가 중단(deprecated)되었으므로 tf.compat.v1.placeholder를 사용하라는 권고 메시지였다. 코드 별로 수정 작업이 빈번히 필요할 것이다. 이미 텐서플로우 2.x 버전으로 업그레이드 되었지만 구버전 TensorFlow 1.15.0 또는 그 이전 버전의 사용 필요성이 대두되곤 한다. 그럴 때에는 차라리 가상환경 설정 단계에서 예를 들자면 pip install tensorflow==1.15.0 명령을 사용하여 라이브러리를 성치하도록 한다. 그밖에 eager execution Runtime Error 에 대해서 알아.. 머신러닝 2020.01.20
1-1 윈도우즈 10 아나콘다3(64비트)에서 TensorFlow 2.x 업그레이드 설치 2018년 12월 “파이선 코딩 초보자를 위한 텐서플로우∙OpenCV 머신러닝”을 출간한 이후 2020년 1월 현재 아나콘다에서 가장 사용빈도가 높았던 텐서플로우 가상공간 설치 작업에 중요한 변화가 있었다. 가장 큰 변화는 이미 2019년에 예고되었던 Back End 인 TensorFlow 버전 2.0 또는 그 이후 버전인 2.x로 업그레이드 하는 문제이며 현재 Front End로 사용 중인 아나콘다에서 제공하는 명령 튜토리얼에 따라서 tensorflow_env 라는 명칭으로 가상환경을 설치하고 기존에 사용하던 파이선 코드들을 하나씩 확인해 가면서 업그레이드 된 환경에 적응해 보도록 하자. 가상공간(Virtual Environment)이라 함은 컴퓨터 내에 하나의 가상적인 울타리를 설정한 후에 필요한 소.. 머신러닝 2020.01.19
1-10 Moon Decision Boundary Classification: SVC vs TensorFlow Cubic Moon data는 데이터의 기하학적인 특성으로 인해 특히 고난이도의 클러스트링 알고리듬이 필요하다. K-means 나 Agglomerative 클러스트링 기법으로도 처리가 안되며 DBSCAN 클러스트링이나 SVC 알고리듬이 대안이다. 이에 더하여 필자가 제안한 다항식 기법을 추가로 하되 기존의 2차식 모양(직선, .. 머신러닝 2020.01.13
1-9 Circle Decision Boundary Classification: SVC vs TensorFlow Sklearn의 datasets에서 지원하는 make_circle 루틴을 사용하여 원형의 hyperplane 즉 Decision Boundary 가 원형인 비선형 예제를 다루어 보자. 헤더 영역에서 sklearn.datasets를 불러들이면 make_circles 루틴 사용이 가능하다. Make_circles 루틴에서 noise 는 내부 원에 해당하는 데이터와 외곽 원에 속한 데이터를 .. 머신러닝 2020.01.13
1-8 TensorFlow Softmax Classification에서 Hypothesis Contour 작도 XOR 데이터나 Iris Flowers 데이터 Classification에서 샘플들과 Hyperplane이 함께 표시되도록 Sklearn에서 지원하는 plot_decision_regions 루틴을 사용하여 작도하였으나 이 루틴을 TensorFlow 코드와 연동하여 사용하기 위해서는 코드의 일부를 TensorFlow 코드에 맞춰서 수정할 필요가 있다. Sklearn 이 지원하는.. 머신러닝 2020.01.12
1-7 Scikit SVC vs TensorFlow Softmax Classification For Iris Flowers Dataset Sklearn의 SVC는 hyperplane 경계에서 데이터가 혼합되어 있는 경우 중요 파라메터인 γ 와 C 값을 조절하여 Overfitting 조절이 가능하다. 따라서 SVC 예제에서처럼 Iris Flowers 데이터를 대상으로 다항식 기법을 적용한 TesnsorFlow 코드를 사용하여 결과를 비교해 보기로 하자. SVC루틴을 사용하여 결과.. 머신러닝 2020.01.12
1-6 활성화 함수 Softmax에 의한 XOR 예제 TensorFlow 코딩 Sigmoid 활성화 함수 대신 Softmax를 사용하여 XOR 예제를 TensorFlow 로 코딩 처리해 보자. Sigmoid 활성화 함수를 사용할 때 생성된 입력 좌표 점들의 수를 pts 라 할 때 해당하는 라벨 데이터의 shape 값이 (pts, 1)이지만 Softmax를 사용할 때는 (pts, 2)인 점이 달라진다. 아래의 코드는 Sigmoid 활성화 함수.. 머신러닝 2020.01.10