`한 권으로 다지는 머신러닝&딥러닝 with 파이썬`

 

표지

 

너무나 매력적인 제목의 책이 새로 나왔다.

한 권으로 머신러닝과 딥러닝을 모두 다진다니... 그것도 파이썬을 이용해서...

 

목차를 보면 정말 알차게 채워져 있다.

 

목차

 

인공지능이 무엇인지에 대한 설명 뿐 아니라,

인공지능이 어디에 쓰이는지 사용 사례까지 소개를 해주고 있다.

딥마인드 팀에서 만든 `알파스타`로 프로게이머를 이긴 이야기도 실려있어서 재미있게 읽었다.

 

뿐만 아니라 본격적인 머신러닝 & 딥러닝 공부에 있어서도

다른 책에서는 잘 언급하지 않는 `특성 공학`부터 하나의 챕터를 할당해서 알려주고 있다.

4장

 

편집도 정말 깔끔하지 않은가!?

 

챕터에 대한 짧은 설명과 함께 학습 목표도 명시적으로 앞에서 소개를 해줘서

무엇을 알아야 하는지 한 번 생각하고 공부를 할 수 있도록 되어있다.

 

5장

 

위 사진들을 보면 알겠지만 조금 아쉽게도 이 책은 Grey Scale 이다.

하지만, 정말 친절하게도 이 책에서 사용된 이미지들을 Colored PDF 파일로 공유해주고 있다.

 

https://static.packt-cdn.com/downloads/9781839219535_ColorImages.pdf

 

color image

 

물론, 예제 코드도 제공해준다.

 

https://git.io/JahHZ

 

예제 코드에서 조금 아쉬운 점은

솔직히 공부하기에는 Jupyter Notebook 형식으로 제공해주는 것이 편한데... 대부분 Python 파일로 제공을 해주고 있다.

그리고, 별도 주석이 있다던지 하지는 않아서... 좀 아쉽다.

 

 

이 책에 대해서 전반적으로 설명을 하자면,

책 제목 그대로 머신러닝과 딥러닝에 대해서 책 한 권으로 정말 깔끔하게 잘 정리된 정성 가득한 책이다.

 

다만, 너무 넓은 범위의 내용을 책 한 권에 담아내다보니

친절한 설명까지는 기대하면 안되고

깔끔하게 요약된 내용을 보면서 다른 책이나 매체를 통해 좀 더 공부를 보충할 필요는 있어 보인다.

 

이미 머신러닝과 딥러닝을 공부하고 있는 분들이라면

이 책으로 한 번 정리한다는 느낌으로 공부하기에도 정말 훌륭한 책이 될 것 같다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

반응형

 

이것 저것 보다가 우연히 발견한

새로운 에디터가 있어서 한 번 설치해보고 써보고자 한다.

 

https://micro-editor.github.io/

 

https://micro-editor.github.io/

https://github.com/zyedidia/micro

 

 

micro text editor

 

이름이 나쁘지는 않은 것 같은데,

일반 명사를 사용하다보니 구글링과 같은 검색을 할 때 원하는 결과를 얻기가 쉽지 않다.

 

 

Features

nano, vi, vim 등의 훌륭한 기본 에디터들이 있음에도 불구하고

굳이 `micro text editor`를 써야 하는 이유가 뭘까!?

 

- Easy to Use
- Highly Customizable
- Colors and Highlighting
- Multiple Cursors
- Plugin System
- Common Keybindings
- Mouse Support
- Terminal Emulator

 

 

뭐 좋은거 같다 ^^

 

 

 

Environments

이하 내용을 진행한 환경은 다음과 같다.

 

- Ubuntu 18.04 Desktop

 

 

 

Download

- 최신 버전 확인 후에 다운로드 부터 받아보자

   . https://github.com/zyedidia/micro/releases/

❯ wget https://github.com/zyedidia/micro/releases/download/v2.0.10/micro-2.0.10-amd64.deb

 

 

Install

- 설치도 쉽다~

❯ sudo dpkg --install micro-2.0.10-amd64.deb

 

 

 

Execute

- 실행도 쉽다~

❯ micro

micro

 

도움말을 호출하자!

`Ctrl + g` 키를 누르면 된다.

 

help

 

command 명령어를 입력하기 위한 prompt 모드 전환을 위해서는 `Ctrl + e`를 누르면 된다.

단축키를 알아보기 위해서 `help defaultkeys`를 타이핑해보자.

 

prompt

 

 

윗 창과 아랫 창을 왔다 갔다 하기 위해서는 `Ctrl+w`를 누르면 되고,

현재 위치의 창을 닫기 위해서는 `Ctrl+q`를 누르면 된다.

 

 

 

plugins

그렇다. micro editor는 plugin도 지원한다.

 

https://micro-editor.github.io/plugins.html

 

설치법도 친절하게 알려준다

plugin install

 

반응형

 

꽤 오랜 역사를 갖고 있지만,

최근 들어서 갑작스레 많은 관심을 받고 있는 Web-IDE & Cloud-IDE 이야기를 해보고자 한다.

 

학계(?), 업계(?)에서 명확히 구분해서 사용하고 있는 명칭은 아니지만

개인적으로 Web-IDE와 Cloud-IDE는 다음과 같이 구분을 하고 있다.

 

Web-IDE

- 웹 기반으로 소스코드 편집을 지원하는 IDE를 제공하는 서비스

- workspace(terminal) 환경을 제공하지 않는다.

 

Cloud-IDE

- Web-IDE 서비스 포함

- workspace(terminal) 환경도 포함

 

 

즉, `GitHub Codespaces` 서비스는 Cloud-IDE로 분류할 수 있다.

- https://github.com/features/codespaces

출처:  https://github.com/features/codespaces

 

 

아는 사람만 알고 있는 github.dev 서비스는 Web-IDE이다.

- https://www.whatwant.com/entry/githubdev (블로그 홍보^^)

 

 

최근에 preview로 공개한 github.dev의 사촌관계인 vscode.dev 서비스 역시 Web-IDE이다.

- https://vscode.dev/

 

 

많은 분들이 알고 있을 구름IDE는 Cloud-IDE 서비스이다.

- https://ide.goorm.io/

 

구름IDE는 아래 포스팅 내용 중에 소개한 적도 있다.

- https://www.whatwant.com/entry/한빛미디어-알쏭달쏭-C언어-180제

 

 

 

이번 포스트는 뭐 그냥 그렇다는 ...

그냥 기록용~

 

반응형

 

아는 사람만 알고 있다는 숨어있는(?) github.dev 서비스를 알고 있으신가요?

- https://github.dev/

- https://docs.github.com/en/codespaces/the-githubdev-web-based-editor

 

github.dev

 

안냇말을 잘 보면 어!? 하게 된다.

`.` 단축키를 이용하면 된다고!?

 

 

위와 같이 github.com의 특정 repository에서 키보드의 `.` 키를 누르면 된다.

 

 

그러면 github.dev 사이트로 이동하면서

해당 repository의 파일 내용과 함께 IDE 환경이 주어진다.

 

 

VSCode 환경에서 소스코드 편집을 할 수 있게 된 것이다.

수정 후에 git commit 및 push를 할 수도 있다.

 

 

아쉽게도 workspace(terminal) 환경은 제공되지 않는다.

 

workspace(terminal) 환경까지 필요하다면 codespaces 서비스를 돈 주고 사용해야 한다.

 

 

 

하지만,

무료로 VSCode를 웹으로 편하게 사용할 수 있다는 것만으로도 충분히 행복한 환경이다.

 

나만 그렇게 생각하나?!

반응형

 

코딩을 하다보면 난감한 경우를 겪곤한다.

숫자 `1` 과 영어 대문자 'I', 소문자 'l' 등이 헷갈리게 하기도 하고

숫자 '0'과 영어 대문자 'O', 소문자 'o', 한글 'o' 등이 헷갈리게도 한다.

 

그리고 글자에 따라서 가로 크기가 다르기도 해서 고정폭 폰트가 필요로 하기도 한다.

 

그래서 보통 개발을 할 때에는

코딩용 폰트(프로그래밍 폰트?)를 따로 구해서 셋팅하곤 한다.

 

가장 유명한 폰트는 Consolas, Verdana 등이 있다.

 

그런데, 어떤 코딩용 폰트가 나의 취향에 맞는지 찾아주는 재미있는 사이트가 있다!

 

 - https://www.codingfont.com/

https://www.codingfont.com/

 

밸런스 게임과 같이

2개씩 비교해서 최종적으로 하나를 선택하도록 해준다!

 

 

안타깝게도 우리나라에서는 나름 매니아 층을 갖고 있는 Naver D2 Coding 폰트는 위 사이트에서 나오지 않는다.

- https://github.com/naver/d2codingfont

 

 

 

그런데, 여기에서 하나 고려해야 할 문제가 있다.

 

한글!

 

한글을 지원해주는 폰트들도 있지만, 지원해주지 못하는 폰트들도 있다.

그런 경우, 마음에 드는 폰트 하나 정한 후에 fallback 폰트로 D2 폰트를 사용하면 나름 괜찮아진다.

 

 

반응형

 

`git`에 대해서 한창 공부할 때도 있었는데,

요즘엔 쓰던 명령어만 쓰면서 그렇게 지내고 있던 와중에...

 

새로운 명령어(기능?)가 `high-level commands`로 추가되었다는 소식을 듣게 되었다.

 

`v2.23.0` 버전의 릴리스 노트에 `switch / restore` 2개의 새로운 명령어를 소개하고 있다.

  - https://github.com/git/git/blob/master/Documentation/RelNotes/2.23.0.txt

 

 

이하 과정은 `Ubuntu 18.04` 환경에서 진행했다.

 

 

1. 설치된 버전 확인

  - 새로운 명령어를 사용해보기 위해서는 `v2.23.0` 이상의 버전이 필요하다.

  - Ubuntu 환경에서 apt 패키지를 통해 설치되어있는 git 버전을 확인해보자.

$ git --version 
git version 2.17.1

 

  - 오래된 버전을 삭제하려면 다음과 같이...

$ sudo apt remove git

$ sudo apt autoremove

 

 

2. 신규 버전 설치 (PPA)

  - 가장 편리한 방법인 PPA 추가해서 apt를 통해서 관리하는 방법이다.

$ sudo add-apt-repository ppa:git-core/ppa

$ sudo apt update

$ sudo apt install git

 

 

3. 신규 버전 설치 (Source)

  - 개인적인 취향으로 좋아하는 방식인 Source Code 빌드해서 사용하기 ^^

    . https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

$ sudo apt-get install dh-autoreconf libcurl4-gnutls-dev libexpat1-dev gettext libssl-dev asciidoc xmlto libz-dev docbook2x install-info

$ cd /srv/install/git

$ wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.33.1.tar.gz

$ tar zxvf git-2.33.1.tar.gz

$ cd git-2.33.1

$ make configure

$ ./configure --prefix=/usr/local

$ make all doc info

$ sudo make install install-doc install-html

 

  - 자동 완성 기능도 설정하자

    . bash

$ sudo cp ./contrib/completion/git-completion.bash /etc/bash_completion.d/

  . zsh

$ mkdir -p ~/.zsh

$ cp ./contrib/completion/git-completion.bash ~/.zsh/
$ cp ./contrib/completion/git-completion.zsh ~/.zsh/_git

$ nano ~/.zshrc
...
zstyle ':completion:*:*:git:*' script ~/.zsh/git-completion.bash
fpath=(~/.zsh $fpath)

autoload -Uz compinit && compinit
$ source ~/.zshrc

 

  - git에서 결과 화면이 전환되는 방식으로 나오는 것이 싫은 경우

$ git config --global pager.branch false

 

 

4. New Command

  - 새로운 명령어 `switch / restore`는 기존 `checkout` 명령어의 일부 기능이 분리된 것이다.

    . `checkout` : Switch branches or restore working tree files

    . `switch` : Switch branches

    . `restore` : Restore working tree files

 

 

5. Before (As-was)

  - 기존에 해왔던 방식을 살펴보자

 

  - git source code를 가지고 알아보겠다. (사이즈가 좀 크지만 그래도 ^^)

$ cd /srv/workspace

$ git clone https://github.com/git/git.git

$ cd git/

  - branch 정보를 살펴보자

$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/maint
  remotes/origin/master
  remotes/origin/next
  remotes/origin/seen
  remotes/origin/todo

 

  - local에 `develop` branch를 생성해보자 = local branch 생성 + 현재 작업 branch 변경

$ git checkout -b develop                            
새로 만든 'develop' 브랜치로 전환합니다

$ git branch -a          
* develop
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/maint
  remotes/origin/master
  remotes/origin/next
  remotes/origin/seen
  remotes/origin/todo

  - 다시 `master` branch로 변경해보자

$ git checkout master
'master' 브랜치로 전환합니다
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

$ git branch -a      
  develop
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/maint
  remotes/origin/master
  remotes/origin/next
  remotes/origin/seen
  remotes/origin/todo

  - 파일 하나를 변경하고 staging까지 해보자

$ nano README.md

$ git status   
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

커밋하도록 정하지 않은 변경 사항:
  (무엇을 커밋할지 바꾸려면 "git add <파일>..."을 사용하십시오)
  (use "git restore <file>..." to discard changes in working directory)
수정함:        README.md

커밋할 변경 사항을 추가하지 않았습니다 ("git add" 및/또는 "git commit -a"를
사용하십시오)

git add README.md

git status
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

커밋할 변경 사항:
  (use "git restore --staged ..." to unstage)
수정함:        README.md

  - staged 상태에 있는 파일을 빼내자

$ git reset HEAD README.md
리셋 뒤에 스테이징하지 않은 변경 사항:
M README.md

$ git status
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

커밋하도록 정하지 않은 변경 사항:
  (무엇을 커밋할지 바꾸려면 "git add <파일>..."을 사용하십시오)
  (use "git restore <file>..." to discard changes in working directory)
수정함:        README.md

커밋할 변경 사항을 추가하지 않았습니다 ("git add" 및/또는 "git commit -a"를
사용하십시오)

  - 변경된 파일을 원복 해보자

$ git checkout -- README.md 

$ git status               
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

커밋할 사항 없음, 작업 폴더 깨끗함

 

 

 

6. Now (To-be/is)

  - 이제 새로운 명령어로 위의 과정을 다시 해보자

 

  - `develop-2` branch를 생성하고 이동해보자

$ git switch -c develop-2
새로 만든 'develop-2' 브랜치로 전환합니다

$ git branch -a
  develop
* develop-2
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/maint
  remotes/origin/master
  remotes/origin/next
  remotes/origin/seen
  remotes/origin/todo

  - `master` branch로 이동!

$ git switch master
'master' 브랜치로 전환합니다
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

$ git branch -a
  develop
  develop-2
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/maint
  remotes/origin/master
  remotes/origin/next
  remotes/origin/seen
  remotes/origin/todo

  - 파일 하나 수정

$ nano README.md

$ git status
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

커밋하도록 정하지 않은 변경 사항:
  (무엇을 커밋할지 바꾸려면 "git add <파일>..."을 사용하십시오)
  (use "git restore <file>..." to discard changes in working directory)
수정함:        README.md

커밋할 변경 사항을 추가하지 않았습니다 ("git add" 및/또는 "git commit -a"를
사용하십시오)

git add README.md

git status
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

커밋할 변경 사항:
  (use "git restore --staged ..." to unstage)
수정함:        README.md

  - 파일을 일단 unstaged 상태로~

$ git restore --staged README.md

$ git status
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

커밋하도록 정하지 않은 변경 사항:
  (무엇을 커밋할지 바꾸려면 "git add <파일>..."을 사용하십시오)
  (use "git restore <file>..." to discard changes in working directory)
수정함:        README.md

커밋할 변경 사항을 추가하지 않았습니다 ("git add" 및/또는 "git commit -a"를
사용하십시오)

  - 파일 원복!

$ git restore README.md

$ git status
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

커밋할 사항 없음, 작업 폴더 깨끗함

 

 

지금까지 git에 새롭게 추가된 2개의 명령어 `switch / restore` 에 대해서 살펴보았다.

 

보면 알겠지만 기존에 안되던 새로운 기능이 추가된 것은 아니고

`checkout`에서 했던 기능 中 일부분을 분리해서 구성한 것일뿐이다.

 

기존에 `checkout`을 잘 사용해왔던 분들이라면, "굳이 왜~?"라는 말을 할 수도 있겠으나

처음 git을 접하는 분들이라면 조금 더 직관적인 명령어로 느끼지 않을까라는 생각이 든다.

 

그 동안 너무 git을 멀리해왔던 것 같아서 간만에 포스팅해봤다!

 

 

반응형

'SCM > Git-GitHub' 카테고리의 다른 글

Universe 2021 & GitHub Actions  (0) 2022.01.18
github.dev (Web-IDE)  (1) 2021.11.03
git 설치 (Git 2.33.0, Windows 10)  (0) 2021.10.02
GitHub Copilot 처음 써보기  (0) 2021.07.26
GitHub CLI (GitHub Command line)  (0) 2020.09.20

 

최근 업무나 공부를 하면서 CSV 타입의 파일을 사용하는 경우가 종종있다.

 

단순한 텍스트 형식의 파일이므로 메모장 같은 Viewer를 이용하거나

CLI 환경에서는 `cat` 명령어만으로도 내용을 확인할 수 있기에 편리하긴 하지만...

 

그냥 일반적은 텍스트 파일 처럼 보게 되면

데이터를 살펴보기에 불편하긴 하다.

 

 

1. Download CSV

  - 테스트 해보기 위해 CSV 파일 하나를 다운로드 받아놓자

$ wget https://web.stanford.edu/class/archive/cs/cs109/cs109.1166/stuff/titanic.csv

 

 

2. Basic

  - 보통 `cat` 형식으로 해당 파일을 보면 이렇다.

$ cat titanic.csv

 

3. Tidy Viewer (tv)

  - CSV 형식의 파일을 예쁘게 출력해주는 아이가 있다.

    - https://github.com/alexhallam/tv

 

  - Ubuntu 환경을 위해 deb 패키지를 제공해준다.

 

    ① Version Check

      - 현재 사용할 수 있는 버전을 확인해보자

        . https://github.com/alexhallam/tv/releases

 

    ② Download

$ wget https://github.com/alexhallam/tv/releases/download/0.0.21/tidy-viewer_0.0.21_amd64.deb

 

    ③ Install

$ sudo dpkg --install tidy-viewer_0.0.21_amd64.deb

 

    ★ 오류

      - Ubuntu 18.04 환경에서 아래와 같은 설치 오류가 발생했다.

      - 관련 이슈는 아래와 같이 reporting 되어 있다.

        . https://github.com/alexhallam/tv/issues/52

 

      - 일단 깨끗하게 오류난 패키지 설치 과정을 청소하자.

$ sudo dpkg --purge tidy-viewer

 

      - 위 이슈에서 제안한 해결 방법으로 설치를 해보자

$ sudo snap install --edge tidy-viewer

 

    ④ alias

      - 편한 사용을 위해 alias 설정까지 해보자

        . bashrc

$ echo "alias tv='tidy-viewer'" >> ~/.bashrc
$ source ~/.bashrc

        . zshrc

$ echo "alias tv='tidy-viewer'" >> ~/.zshrc
$ source ~/.zshrc

 

4. tv

  - 이제 예쁘게 잘 보이는지 확인해보자

$ tv titanic.csv

 

  - 에휴... 오류다.

 

  - 다음 처럼 하면 잘 된다

$ cat titanic.csv | tv

 

 

어?! 이쁘고 깔끔하다!

 

 

설치할 때 문제가 좀 있었고, 사용할 때에도 좀 불편한 점이 있긴한데... 이쁘다!

 

Ubuntu 20.04에서 해보면 문제 없이 사용할 수도 있을 것 같은데...

20.04 환경까지 켜서 확인해보긴 지금 귀찮아서 ^^

 

 

조금 더 지켜보고 내 기본 사용환경에 포함시키는 방향으로 해봐야겠다 !

 

 

반응형

 

정말 간만에 해보는 git 설치.

거기에다가 windows 10 환경은 정말 정말 오랜만이다.

 

 

1. Homepage

   - 모든 시작은 홈페이지

   - https://git-scm.com/

 

2. Download & Install

   - 홈페이지에서 친절하게 알맞은 아이를 추천해준다.

   - 오른쪽 모니터 화면에 있는 `Download for Windows`를 클릭해서 다운로드 후 설치 진행하자.

   - 잘 모르겠으면 추천하는대로 `Next`를 선택하면 된다 ^^

   - 개인적인 취향으로 기본 에디터를 선택하면 되는데, 저는 `nano`를 좋아하므로... ^^

 

3. Test

   - 잘 설치되었는지 확인해보자.

   - 윈도우즈의 `cmd`를 이용해서 해도 되지만, 이왕이면 `Git Bash`로 한 번 해보자.

   - 시작 메뉴에서 `Git Bash`를 클릭하자.

   - 그리고 실행

$ git --version

 

끝~

반응형

'SCM > Git-GitHub' 카테고리의 다른 글

github.dev (Web-IDE)  (1) 2021.11.03
git switch/restore (git 새로운 명령어)  (1) 2021.10.17
GitHub Copilot 처음 써보기  (0) 2021.07.26
GitHub CLI (GitHub Command line)  (0) 2020.09.20
git clone [bare/mirror] 에 대해서 알아보기  (0) 2020.01.01

+ Recent posts