4월, 2020의 게시물 표시

Blender Dice 3D Model

이미지
사용 버전: Blender 2.82 Dice 3D Model 끝. 카테고리: 3D Model

Blender Dice Animation

이미지
사용 버전: Blender 2.82 Blender Animation 끝. 카테고리: Animation

리눅스(페도라) PID 확인하기

이미지
운영 체제: Fedora 31 Workstation x64 ​ 리눅스(Linux) 페도라(Fedora) PID 확인하기에 대해서 알아보겠습니다. ​ PID를 확인하는 방법은 4 가지가 있습니다. ​ bash로 예를 들겠습니다. ​ 1. ps -A | grep [프로그램 이름] PID는 2519, 34205입니다. ​ ​ 2. ps aux | grep [프로그램 이름] PID는 2519, 34205입니다. ​ 3. pidof [프로그램 이름] PID는 2519, 34205입니다. ​ ​ 4. pgrep [프로그램 이름] ​ 위의 4 가지 방법 외에도 많습니다. ​ 끝. 카테고리: Linux, Fedora

Tensorflow 시작하기 12 (성능 향상-히든 레이어)

이미지
사용 버전: Python 3.7.6, Tensorflow 2.1.0 ​ 기획: MNIST 데이터 셋을 이용하여, 손글씨 숫자를 맞추는 AI(인공지능) 만들기 ​ 이번 시간에는 간단한 방법으로 성능을 향상시키는 방법에 대해서 알아보겠습니다. ​ 아래는 성능 향상 전 그래프입니다. ​ ​ 숨겨진 층(Hidden layer)를 추가하겠습니다. ​ ​ Dropout이라는 기능도 사용해 줍시다. 학습 데이터 일부분을 누락시켜 학습을 시킵니다. ​ ​ 재생산성을 위해 인자를 고정해 줍시다. BatchNormalization도 해줍시다. ​ ​ 아무리 해도 성능이 좋아질 기미가 안 보이네요. 아무래도 데이터 전처리가 이상한가 봅니다. 전처리를 10에서 100으로 변경해 줍니다. 아무래도 잡음까지 같이 숫자로 인식되나 봅니다. ​ ​ seed를 아무리 고정해도 값이 동일하게 안 나오네요.... 아무튼 운이 좋게 5 개나 맞는 경우가 생겼습니다. 사실 검정 바탕 7과 9는 맞출 수가 없습니다. 학습 데이터에는 저런 검은색 바탕을 가진 데이터는 없었거든요. 일부러 한 번 넣어봤습니다. ​ ​ 처음의 2와 3은 당연히 맞출 줄 알았습니다. 그런데 생각만큼 잘 안되네요. 이렇게 성능 향상을 시켜보았습니다. ​ 전처리의 중요성을 다시 한번 알게 되었고, hidden layer의 효과 역시 한 번에 알 수 있었습니다. ​ 이제 만든 모델을 저장하는 방법에 대해서 알아보겠습니다. ​ 끝. ​ 코드: https://github.com/shwoghk14/mnist_tensorflow 카테고리: Tensorflow, BlackSmith

Blender '감사합니다.' Animation

이미지
사용 버전: Blender 2.82 Blender Animation 끝. 카테고리: Animation

Tensorflow 시작하기 11 (성능 향상-셔플 사용)

이미지
사용 버전: Python 3.7.6, Tensorflow 2.1.0 ​ 기획: MNIST 데이터 셋을 이용하여, 손글씨 숫자를 맞추는 AI(인공지능) 만들기 ​ 이번 시간에는 간단한 방법으로 성능을 향상시키는 방법을 알아보겠습니다. ​ 아래는 성능 향상 전 그래프입니다. ​ ​ 셔플(Shuffle)을 적용해 보겠습니다. shuffle method를 사용합니다. 괄호 안에 숫자는 전체 데이터보다 큰 숫자를 적어줘야 합니다. ​ ​ ​ batch 256 ​ ​ batch 128 ​ ​ batch 1024 ​ ​ batch 32 ​ 별 효과를 못 얻었네요. ​ 계속 진행해보겠습니다. ​ ​ 끝. ​ 코드: https://github.com/shwoghk14/mnist_tensorflow 카테고리: Tensorflow, BlackSmith

Blender Liquid Steps Animation

이미지
사용 버전: Blender 2.82 Blender Animation 끝. 카테고리: Animation

Tensorflow 시작하기 10 (성능 향상-배치 사용)

이미지
사용 버전: Python 3.7.6, Tensorflow 2.1.0 ​ 기획: MNIST 데이터 셋을 이용하여, 손글씨 숫자를 맞추는 AI(인공지능) 만들기 ​ 이번 시간에는 간단한 방법으로 성능을 향상시키는 방법을 알아보겠습니다. ​ 아래는 성능 향상하기 전 그래프입니다. ​ ​ 아래는 시작하기 9 그래프입니다. ​ ​ 배치(Batch)를 적용해보겠습니다. 배치를 적용하기 전, tensorflow dataset으로 만들어줍시다. ​ tensorflow dataset으로 만드는 이유는 Batch를 쉽게 사용하기 위해서입니다. ​ batch 크기는 보통 2의 배수로 많이 사용합니다. 2, 4, 8, 16, 32, ... ​ batch는 아래와 같이 사용합니다. ​ ​ batch size 32 ​ ​ ​ batch size 128 ​ ​ batch size 256 ​ ​ batch size 512 ​ ​ 별로 성능이 나아지지 않았네요. ​ 계속 성능 향상을 향해 가보겠습니다. ​ 끝. ​ 코드: https://github.com/shwoghk14/mnist_tensorflow 카테고리: Tensorflow, BlackSmith

Blender Earth 3D Model

이미지
사용 버전: Blender 2.82 Earth 3D Model 끝. 카테고리: 3D Model

Blender Ocean 2 3D Model

이미지
사용 버전: Blender 2.82 Ocean 2 3D Model 끝.

Blender Sand Timer 3D Model

이미지
사용 버전: Blender 2.82 Sand Timer 3D Model 끝. 카테고리: 3D Model

Tensorflow 시작하기 9 (성능 향상-학습 반복량 증가)

이미지
사용 버전: Python 3.7.6, Tensorflow 2.1.0 ​ 기획: MNIST 데이터 셋을 이용하여, 손글씨 숫자를 맞추는 AI(인공지능) 만들기 ​ 이번 시간에는 간단한 방법으로 성능을 향상시키는 방법에 대해서 알아보겠습니다. ​ 아래는 성능 향상하기 전 그래프입니다. ​ ​ 학습 반복량(epoch)을 조절해보겠습니다. ​ epoch를 5에서 23으로 증가했습니다. 맞던 3 도 안 맞게 되었습니다. ​epoch를 50으로 증가해보겠습니다. 3과 5를 맞췄네요. 조금 괜찮아졌네요. 한 번 200 번 반복해보겠습니다. 3과 5의 확률이 더 높아졌네요. 만약 학습 데이터의 loss, accuracy가 test의 loss, accuracy와 차이가 많이 난다면, 과적합(overfitting)을 의심해봐야 합니다. ​ 계속 성능 향상을 진행하겠습니다. ​ 끝. ​ 코드: https://github.com/shwoghk14/mnist_tensorflow 카테고리: Tensorflow, BlackSmith

Tensorflow 시작하기 8 (성능 향상-학습 데이터 증가)

이미지
사용 버전: Python 3.7.6, Tensorflow 2.1.0 ​ 기획: MNIST 데이터 셋을 이용하여, 손글씨 숫자를 맞추는 AI(인공지능) 만들기 ​ 이번 시간에는 간단한 방법으로 성능을 향상시키는 방법을 알아보겠습니다. 그전에 몇 프로의 순위로 뽑힌 건지 확인해 봅시다. ​ 함수를 만듭니다. ​ ​ 그래프를 그려줍니다. ​ ​ 실행해 줍니다. 예측한 것은 검은색, 정답은 빨간색 그래프입니다. 그리고 그림 밑의 빨간색 주석이 달린 것이 예측과 정답이 맞는 그림입니다. ​ ​ 이제, 우리는 여기에 약간의 코드를 수정하여 성능을 향상시켜보겠습니다. 요즘은 random forest나 ensemble 기법을 많이 사용하는 것 같습니다. 저는 아직 공부를 못해서 기초적인 기법에 대해서 다루겠습니다. ​ 성능을 향상시키는 방법으로는 크게 5 가지 정도가 있습니다. 1. 학습 데이터양을 늘린다. 2. 학습 반복량을 증가한다. 3. 배치를 사용한다. 4. 셔플을 사용한다. 5. 히든 레이어를 추가한다. ​ ​ 학습 데이터의 양, 학습 반복량, 배치, 셔플, 히든 레이어 추가에 대해서 다루겠습니다. ​ - 학습 데이터의 양이 늘어나면, 학습을 하는데 좀 더 많은 경우를 볼 수 있어서 성능이 향상됩니다. - 학습 반복량(epoch)을 증가해 주면 학습을 반복적으로 하게 되어, 성능이 좋아집니다. 하지만, 너무 오래 반복하게 되면, 본 것만 맞추게 되어 성능이 떨어집니다. - 배치(batch)를 사용하면, 전체 데이터를 가지고 학습을 진행하는 것이 아니라, 정해진 크기들끼리의 기울기 값을 사용하여, 전체 기울기를 찾아가게 됩니다. - 셔플(shuffle)을 사용하게 되면, 학습 데이터 순서에 인공지능이 최적화되는 것을 방지해 줍니다. - 히든 레이어를 추가하게 되면, 성능이 향상될 수 있습니다. 다만, 너무 많은 층을 사용하면, 오히려 성능이 저하됩니다. ​ ​ 학습 데이터의 양을 늘려보겠습니다. 현재 새로운 데이터를 만드는 것은 시...

Blender Ocean Model

이미지
사용 버전: Blender 2.82 Ocean 3D Model 끝. 카테고리: 3D Model

Blender Glass kettle 3D Model

이미지
사용 버전: Blender 2.82 Glass kettle 3D Model 끝. 카테고리: 3D Model

Tensorflow tf.config.experimental.set_visible_devices()

이미지
사용 버전: Python 3.7.6, Tensorflow 2.1.0 ​ 텐서플로우(Tensorflow) tf.config.experimental.set_visible_devices()에 대해서 알아보겠습니다. ​ 괄호 안에는 devices와 device_type 따위가 들어갑니다. ​ devices에는 실제 GPU 장비의 이름이 들어갑니다. device_type에는 CPU, GPU를 넣습니다. ​ tf.config.experimental.set_visible_devices()는 특정 GPU를 선택할 수 있게 해줍니다. 하지만, 여기서 다룰 내용은 CPU만 작동하도록 만드는 방법입니다. ​ ​ devices에는 빈 리스트를 넣습니다. device_type에는 GPU를 적습니다. 실행 시, GPU를 사용하지 않습니다. ​ ​ 아래는 GPU 사용 시의 문구입니다. 원래대로 주석 처리해 주면 됩니다. GPU 사용 시, Create TensorFlow device 문구를 볼 수 있습니다. ​ 끝. 카테고리: Tensorflow_python, Python   [계수기] 앱 광고 외국: Hand Counter https://play.google.com/store/apps/details?id=starlight.jaehwa.handcounter 계수기 앱. 하나씩 개수를 셀 때 사용해보세요. 센 숫자를 메모와 함께 저장할 수 있습니다. ​ 감사합니다. ​ [계수기] 앱 광고 끝.