[octave] 2. octave 설치 방법들

아니, 설치방법 그냥 홈페이지에 있잖아? 라고 하려고 해도….. 그렇게 설명하기 힘든게 옥타브 환경 같습니다. 이유를 좀 설명할께요. 우선 다운로드 사이트를 확인합시다.

처음부터 소스 빌드과정과 리눅스, BSD라니… 여기서 뉴비들은 덜덜거릴 수 있습니다.

맥하고 윈도우는 밑에 있습니다. 근데 맥은 왠지 모르게 wiki를 알려주죠?

윈도우를 제외하고는 거의 코드 빌드를 이용하거나, 옥타브에서 제공하는 ftp에서 제공하는 바이너리 빌드된 녀석을 make로 만들어서 이용하는 것이 가장 최신의 버전을 이용할 수 있습니다. 저는 리눅스 민트와 윈도우를 이용하고 있습니다만, 리눅스 민트의 경우에 그냥 뭣모르고 sudo apt install octave를 입력해서 하면 바로 설치는 깔끔하게 되는데, 버전이 6버전이더군요. 패키지 관리자에 아무래도 6버전대를 제공하는 듯 합니다.

그래도 기왕 쓰는데 최신 버전 쓰는 게 낫지 않나…

그래서 일단 제일 쉬운 윈도우는 exe 인스톨러 받아서 설치하면 됩니다. 처음 쓰시는 분들에게는 윈도우 과정을 추천합니다. 근데 윈도우 64비트는 버전이 둘 있는데, 64bit linear alg for large data라고 있는 것이 바로 메모리가 64G 이상의 고용량 메모리를 이용한 연산이 되는 버전입니다. 일반적으로는 그냥 64비트용을 이용하면 충분히 가능합니다.

윈도우에서 GUI로 실행한 환경

윈도우 설치법 및 리눅스 설치법은 별도로 기회되면 작성해보겠습니다.

[octave] 1. octave 시작하기

octave 관련된 간단한 글을 쓰고 싶었는데, 이 기회에 시작합니다.

회사 다니면서도, 아는 중학생과 고등학생 몇명에게 옥타브를 가르쳐 주면서 그냥 간단한 것만 보여주면서 수치해석에 대한 이야기를 간단하게 원격으로 강의를 했었습니다. 근데 애들이 생각 이상으로 즐겁게 시도해보기도 하는 걸 보면서, 쉽게 접근 가능한 녀석으로 가르쳐 주는 것도 좋을 거 같아보이더군요.

뭐, 대학 오면 매트랩(matlab)도 써보고 하면 그쪽에서 충분히 익히겠지만, 전 이쪽이 좀 더 좋아보입니다. 그 이유를 좀 정리하면…

  1. GPL 라이센스의 오픈소스이다.
    이건 엄청 중요하다고 생각합니다. 접근성이 엄청 좋은 것이니깐요. 쉽게 설치해서 쓸 수 있는 것은 시작하기 쉽다는 것이기도 하니깐요.
  2. 여러 운영체제에서 이용 가능하다.
    이게 윈도우, 맥, 리눅스 뿐 아니라 안드로이드에서까지도 사용이 가능합니다. ios도 되었으면 좋겠는데….ㅠㅠ
  3. MATLAB 문법과 거의 비슷하게 이용할 수 있다.
    일부 차이점은 존재하지만, 그것들을 제외하면 어느정도 matlab 코드를 이해하면서 사용할 수 있습니다. 필요하면 그대로 짜서 만들면 그만이니깐요.
  4. 다양한 패키지를 무료로 내려받아서 적용할 수 있다.
    이거 은근 사용하는 사람들이 많아서 좀 많은 패키지들이 존재합니다. 이들을 무료로 받아서 이용할 수 있고, 그를 통한 지식을 습득할 수도 있습니다.

그러나, 이렇게 적어도 좀 단점이랄 것들도 당연히 존재하는데, 단점에 대해서 이야기하면 다음과 같습니다.

  1. 느리다.
    뭐 아주 못쓸 정도로 느린 건 아닌데…. 이걸로 실무에서 쓴다고 하면 그냥 돈주고 매트랩 쓰는 곳들도 많을 것입니다. 근데 이건 개인적으로는, 리눅스 환경이나 윈도우 환경에서 메모리 엄청 때려박는 환경은 그나마 나을지도요.
  2. MATLAB 대비 지원 기능이 떨어진다.
    자료형 관련부터 시작해서 여러모로 matlab에서는 지원하는 자료형 변수, 함수가 octave에는 없을 수 있습니다. 이런 것들은 코드 만드는데 좀 어려울 수 있는데, 이런 것들도 충분히 코드로 짤 수 있으면 문제 없다고 봅니다.
  3. 프로그래밍 환경만 제공하는 octave는 사용에 제약이 있다.
    매트랩은 수치해석 관련한 여러 툴박스를 가지고 있습니다. 이를 통해서 여러 환경을 지원해줄 수 있는데, 그에 반해서 octave는 코드를 짜서 돌리는 것에만 한정된 환경을 제공하기만 해서, 사용성 관련해서 떨어진다고 볼 수 있습니다.

장점과 단점이 명확하지만, 전 그래도 좋은 접근성을 통해서 여러모로 이용할 수 있는 옥타브를 추천하고 그를 간단한 강의로 사용법을 정리해보고 싶어지더군요. 못하는 것이 아니라 좀 번거로운 것이니깐요. AMD GPU로도 딥러닝, 인공지능을 구현하고 할 수 있지만 굳이 사람들이 CUDA 땜에 엔비디아 GPU로만 딥러닝, 인공지능을 이용하는 것과 같은 거라고 보고 있습니다.

그래서 하나하나 쉬운 걸 해보는 걸로 한 번 쭉 써보고, 이걸 가지고 여러모로 활용하는 내용들도 조금씩 적어서 하나하나 정리해보려고 합니다.

잘부탁합니다~

p.s. 좀 많이 써보고 많은 사람들과 내용 공유도 했으면 좋겠네요. 커뮤도 있긴 할텐데… 그래도 내가 써봐야지 말하기 편하죠. ㅇㅂㅇ