목록프로그래밍 (92)
말랑말랑제리스타일
지난 글에서 훈련 데이터에 Reshape 함수를 서서 2D 텐서인 MNIST 데이터셋을 3D 텐서로 변환한다는 표현을 썼는데요. 저도 써놓고 뭔 소린지 텐서가 뭔지 개념이 안 잡혀서 2D 텐서가 뭔지, 3D 텐서가 뭔지를 알아봤습니다. 딥러닝에서 텐서란 무엇인가 먼저 딥러닝에서의 텐서가 뭔지를 알아야 2D 텐서와 3D 텐서의 의미를 알 수 있을거라 생각하고 텐서의 개념을 알아봤습니다. 일단 물리학에서의 텐서는 지금 알아볼 내용이 아닌 것 같고 수학의 영역인 선형 대수학에서 선형 관계를 나타내는 다중 선형 대수학의 대상이라는 뜻을 찾았습니다. 도통 무슨 소리인지 알기가 힘들죠. 그래서 좀 더 쉽게 이해할 수 있는 텐서의 개념을 알아봤는데요. 쉽게 이해하려면 배열이랑 같은 느낌으로 이해해도 된다고 하더라구요..
지난 글에서 딥 러닝과 머신 러닝 용어를 알아봤는데요. 이번에는 본격적으로 파이썬과 TensorFlow를 이용해 딥 러닝을 시작해 보는 방법을 알아봅시다. 파이썬과 TensorFlow 설치 파이썬은 딥 러닝을 학습하기에 필수라고 할 정도이기에 파이썬과 아나콘다는 이미 설치가 되어있다고 가정하겠습니다. 그리고 TensorFlow 설치를 위해서는 터미널에 아래 명령어를 입력해 줍니다. pip install --upgrade tensorflow 이렇게 입력하면 pip를 이용해 TensorFlow가 설치되기 시작합니다. 설치가 완료되었다면 제대로 TensorFlow가 설치되었는지 확인하기 위해 버전을 출력해 보면 되겠죠. 하단의 파이썬 코드를 사용해서 Tensor Flow 설치가 완료되었는지 확인해 봅시다. i..
인공지능이 화제의 이슈가 되면서 딥러닝과 머신 러닝이라는 용어가 자주 등장하는데요. 딥 러닝과 머신 러닝이라는 용어가 혼용되어 사용되지만 사실 각각 다른 의미를 가지고 있습니다. 저도 궁금해서 각각의 의미와 용어의 차이를 알아봤습니다. 머신 러닝이란? 머신 러닝은 컴퓨터가 학습할 수 있도록 하는 인공 지능의 분야입니다. 머신 러닝은 컴퓨터가 각각의 코드로 프로그래밍하지 않더라도 스스로 학습할 수 있게 하는 알고리즘과 통계적 모델을 구축하는 과정을 의미합니다. 이런 학습 과정을 통해 머신 러닝 모델은 입력 데이터를 기반으로 예측을 생성하게 됩니다. 즉, 다양한 데이터로 학습을 하면서 머신 러닝 모델의 성능이 향상되겠죠. 딥 러닝이란? 그렇다면 머신 러닝이라는 용어와 다르게 사용되는 딥 러닝은 무슨 의미를 ..
플러터에서 Cannot fit requested classes in a single dex file 에러는 안드로이드 앱을 빌드할 때 발생하는 에러로 현재 프로젝트가 single dex로 세팅되어 있지만 single dex로는 빌드가 불가능하다는 뜻으로 이해가 됩니다. 굉장히 복잡한 소리를 늘어놨지만 별거 아닙니다. 일단 Cannot fit requested classes in a single dex file 에러는 해결방법이 간단하니 해결 방법부터 보고 원인을 알아봅시다. Cannot fit requested classes in a single dex file 에러 해결 방법 일단 가장 간단한 Cannot fit requested classes in a single dex file 에러 해결 방법을 알..
파이썬의 이미지 작업에는 Pillow나 Open CV 중 하나가 주로 사용됩니다. 여기서 오늘은 좀 더 간단한 Pillow를 이용해서 파이썬에서 이미지 크기를 조절하는 방법을 알아봅시다. 먼저 이미지 비율과 관계없이 크기를 조절하는 방법을 알아보고 두 번째로 이미지 비율에 맞춰서 가로 세로 비율이 깨지지 않게 이미지 크기를 조절하는 방법을 알아볼 겁니다. 파이썬 이미지 크기 조정 준비 사항 - 파이썬, Pillow 설치 먼저 파이썬으로 이미지 크기를 조정하기 위해 준비되어야 할 사항입니다. 일단 파이썬을 이용할 것이기 때문에 파이썬이 설치되어있어야 하고 라이브러리를 제대로 땡겨쓸 수 있어야겠죠. 두 번째로 파이썬의 이미지 컨트롤 라이브러리인 Pillow가 설치되어있지 않다면 하기 명령을 터미널에 입력해서..
VS Code에서 발생할 수 있는 Failed to launch Pixel 4 API 30: Error: Emulator didn't connect within 60 seconds 에러 즉, 에뮬레이터가 정상적으로 실행되었고 화면에 보이고 있지만 VS Code가 AVD에 붙지 못하는 에러가 발생했고, 일단 해결은 됐습니다. 계속 잘 되던 AVD 연결이 어느 순간 안 되고 Emulator didn't connect 에러 발생 계속 잘 쓰고 있던 AVD를 실행하고 앱 디버깅을 해보려고 하는데 어느 순간 Failed to launch Pixel 4 API 30: Error: Emulator didn't connect within 60 seconds 에러가 발생했습니다. 이번이 처음은 아니고 전에도 여러 번 발..
웹의 경우 워낙에 npm으로 만들어진 모듈이 많다 보니 어떤 기능을 사용할 때 어떤 npm 모듈을 설치해야 될지 고민될 때가 많죠. 저 역시 gif encoding을 하려고 찾아보니 npm 모듈만 서너 개가 넘더라고요. 그래서 고민하던 중 찾은 사이트를 하나 소개합니다. npm trends 사이트 소개 바로 npm trends라는 사이트를 소개하겠습니다. 여러 가지 npm의 사용량을 분석할 수 있는 사이트로 당연히 같은 기능이라면 최근 많이 사용되는 npm 모듈이 편하거나 기능이 좋은 경우가 많겠죠. 이렇게 gif encoding 관련 npm 모듈을 찾아보니 ffmpeg를 제외하고 4가지 정도가 있더라고요. https://npmtrends.com/gif.js-vs-gifencoder-vs-gifshot-..
리액트 5.0 이상 버전 사용 시 특정 npm 모듈에서 "BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default " 에러가 발생했습니다. 제 경우는 GIFEncoder 모듈에서 webpack 에러가 발생했는데요. 가장 간단한 조치 방법을 알려드리겠습니다. 모듈의 버전을 바꿔서 webpack 에러 조치하는 방법 리액트 버전이 올라감에 따라 해당 노드 모듈도 신버전이 나왔을 수 있습니다. 이런 경우 해당 노드 모듈의 버전을 webpack 5 이상이 적용된 새로운 버전으로 업그레이드해주면 에러가 발생하지 않겠죠. 하지만 GIFEncoder.js를 포함해 대부분의 노드 모듈이 webpack 5 이상에 대한..