한 줄씩 따라 해보는 파이토치 딥러닝 프로젝트 모음집 - 다양한 AI 프로젝트로 실전 감각 익히기
이경택 외 지음 / 비제이퍼블릭 / 2021년 7월
평점 :
장바구니담기


최근, 파이토치에 대한 좋은 책들이 많이 나오고 있다.


오늘은 그 중에서 "파이토치 딥러닝 프로젝트 모음집" 이라는 책을 살펴보자.




1. 책의 특징



1) 각 코드마다 세세한 추석이 다 달려있다.








대부분의 라인마다 주석이 달려있어서 파이토치에 대한 기초가 부족하더라도 코드를 음미하면서 무슨 뜻인지 생각하기 좋은 책이다. 물론, 뒤에 챕터로 갈수록 앞에서 비슷하게 사용된 코드의 주석들은 조금 덜 달리고 새로운 api 가 나오거나 기법이 나오면 이러한 부분에 주석이 달린다. 그러니, 앞에서부터 착실히 본다면 라인바이라인으로 이해하기 좋다.








2) "코드 단위의 목적 - 코드 주석"








데이터 전처리 - 모델 구축 - 학습 - 평가 등의 단계를 거치는 프로세스에 맞게 각 챕터별로 프로젝트에서 어떤 단계에 있는지 목차가 나오고 코드의 주석이 달려있는 형식은 독학하는 사람에게는 정리하기 아주 좋다. 자연스럽게 책에 나온 프로젝트를 따라하면서 딥러닝의 프로세스가 몸에 "체화"될 수 있는 방식이기에 전달력이 좋다고 생각한다.




3) 다양한 주제의 프로젝트 그리고 프로세스






파이토치를 이용한 다양한 프로젝트가 모여있기에 비전, 텍스트, 음성 등의 데이터를 다루는 챕터들이 나뉜다. 각 프로젝트가 그렇게 심도있거나 어려운 걸 다루지는 않기에 다양한 비정형 데이터를 다루면서 파이토치를 사용할 수 있다. 학습자에 입장에서는 이렇게 다양한 주제로 하나의 프레임워크를 사용하는 건 굉장히 흥미로운 일이라고 생각한다. 설사, 내가 한 쪽의 비정형 데이터 분야만 프로젝트한다 해도 책에서 다루는 다른 데이터 분야의 프로젝트도 이 정도 수준으로 맛보는 건 본인의 능력치 향상에 장기적으로 더 도움이 된다고 생각한다.




4) "핵심 이론 설명 - 코드 구현"






아무래도 이 책은 다양한 프로젝트를 모아놨기에 이론 파트가 그렇게 많은 페이지를 할애하지는 않는다. 그러나, 각 프로젝트별 뼈대가 되는 용어와 모델에 대한 설명은 충분히 하고 있다. 기초가 부족한다면 다른 자료 등을 구글링해서 보충한다면 좋을 것 같다. 뻔한 튜토리얼만 하는 것보다는 조금은 실전적인 프로젝트를 하면서 공부한다면 좀 더 재밌게 딥러닝을 할 수 있을 것 같다.




책을 보였던 조금 재밌었던 상황 - 이름 짓기...




mnist 챕터에서 classes 라는 이름을 가진 컬렉션 데이터를 이터레이션 시키려는데 class 라는 이름은 예약어이기에 다른 이름을 쓰려고 했지만 코드와 책이 다른 오타가 난 경우가 있었다. cls 라는 축약어를 쓰기에는 cls 역시 classmethod 에서 기본적으로 쓰기에 clss 라는 말을 썼던 것 같다. 참 이름짓기 애매한 경우이다. classes 라고 하지말고 labels 나 y 등의 통상적으로 많이 쓰는 종속변수명을 쓰면 좋지 않았을까 싶다.



책의 중간중간 미세한 오타가 코드에 있었긴 한데, 코드 에러날 정도는 아니고, 공부하다보면 그 정도는 자연스럽게 수정해서 할 수 있을 것이다. 오타가 좀 있는 편이다라고 할 정도의 오타 갯수는 없었던 것 같다.





이 책을 권장하는 사람


- 튜토리얼이 지겹고 어렵지않고 다양한 비정형 데이터로 파이토치를 공부해보고 싶은 분


- 파이썬의 기본기( 공백을 제외한 50줄 이상의 코드 구현 가능 경험이 2,3번 이상)를 갖춘 분


- 온라인에 나온 공식문서 파이토치 튜토리얼을 끝내신 분


- 딥러닝의 기본서를 1회독 이상하신 분 (밑바닥 시리즈1권 or do it 딥러닝 도서 수준)





총평



파이토치를 이용해서 쉽게쉽게 다양한 프로젝트를 할 수 있어서 공부하는데 큰 도움이 되는 책이었다.


수준은 초중급 정도라고 봐도되지 않을까 싶다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
스파크를 이용한 자연어 처리 - 대규모 텍스트를 다루는 가장 효율적인 딥러닝을 만나다
앨릭스 토머스 지음, 이창현 옮김 / 한빛미디어 / 2021년 8월
평점 :
장바구니담기



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







파이썬과 딥러닝 프레임워크로 자연어처리를 어느정도 한 사람으로써 spark 를 통해서 자연어처리를 한다는 것은 신선한 주제였습니다. 하지만, spark 와 Sparknlp , java 버전의 호환 문제로 인해서 일부 api가 작동하지 않는 문제가 있어서 아쉬운 부분입니다. 그렇기에, 로컬보다는 저자가 준비한 colab 파일을 이용해서 코랩에서 실습을 진행하는 것이 좋을 것 같습니다.




(로컬 실습 기준)데이터 엔지니어링 도구들은 특히나 의존성 문제로 인해 api 작동이 안되는 문제가 비일비재한데 이 책 역시 그러한 문제에서 벗어날 수 없었습니다. 우선, 설치한 뒤 일부 api 가 실습 도중 java 버전으로 인해 작동하지 않는 것 같아서 java 버전도 바꾸고 spark 버전도 하둡이랑 맞춰서 바꾸었지만 결국 특정 api 가 실행되지 않았습니다. 제가 세팅을 잘못해서 그런 것일수도 있겠지만, 이 책을 보고 따라하는 상당수의 사람들에게도 비슷한 문제가 닥칠 수 있어서 우려가 되는 부분입니다. shell에서 할 때는 쥬피터에서 작동 안하던 Spark의 api 작동이 잘되는 아이러니가 있어서 아마 jupyter notebook 와 spark 연결을 환경변수 등을 신경써저 잘해야 될 것 같습니다.




코드는 pyspark 를 쓰기에 파이썬을 어느정도 할 줄 알면 큰 문제는 없습니다. 중간중간 spark Api 를 쓰지만 전반적인 코드는 파이썬을 따릅니다. 자연어에 대한 이론은 시중에 나온 자연어처리 책들과 크게 다르지 않습니다. 스파크를 이용해서 nlp를 하는데 의의를 두면 좋을 것 같습니다. 자연어처리 자체는 더 좋은 교재들이 시중에 많이 있지만 책처럼 spark 로 자연어처리를 주제로 삼은 책은 거의 없을 것입니다. 




책의 후반부에서는 keras 를 사용해서 lstm 등의 딥러닝 모델을 실습하는 챕터가 있고, 딥러닝이 나오면서부터는 관련된 라이브러리들을 pyspark 와 sparknlp 와 함께 사용합니다. api 이름만 조금 다를뿐 자연어처리 흐름은 파이썬과 다른 라이브러리에서 하는 것과 별반 차이는 없습니다.








책의 저자는 spark 2.4를 썼고 역자는 3.0.2 를 썼습니다. 저는 spark 3.0.3 과 3.1.2 를 둘 다 썼습니다. 그럼에도 일부 api 가 java 와 호환이 안되는지 에러가 발생해서 중간중간 실습이 막히는 것은 어쩔 수 없었습니다. 책의 저자가 사용한 spark 2.4 버전은 spark 공식홈페이지에서 다운로드 받을 수 없습니다. 2.4.8 설치파일이 있는 것 같은데 다운로드 되는 부분이 안 보였습니다. wget 으로 다른 기술블로그 등의 보니 코드를 내린 거지 404 error 가 발생했습니다. 그러니, 로컬에 spark 를 설치하고 실습이 막힌다면 코랩으로 바로 넘어가서 실습을 하면 좋을 것 같습니다.




실습이 중간중간 막히는 아쉬움을 제외하고는 spark 로 자연어처리를 할 수 있는 신선함을 느낄 수 있어서 자연어처리를 좀 더 다양한 언어로 해보고 싶은 분들은 재밌게 할 수 있을 것 같습니다. 




 











댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
텐서플로 라이트를 활용한 안드로이드 딥러닝 - 더 작고, 더 가벼운, 모바일, 에지 기기용 머신러닝
임태규 지음 / 한빛미디어 / 2021년 8월
평점 :
장바구니담기


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





이 책에 나온 실습을 제대로 하려면 자바와 파이썬에 대한 지식이 어느정도 필요합니다. 둘 중에 하나만 갖추고 있다면 다른 언어에 대한 지식을 가진 동료와 함께 이 책을 함께 보면서 실습하는 것이 좋습니다.  




개인적으로는 안드로이드 개발자가 읽기에 더 좋은 책이라고 느껴집니다. 이 책에서 사용하는 텐서플로우 코드는 간단하기에 기존 안드로이드 소스에 이를 더하기가 훨씬 수월한 것으로 보입니다. 그래도 인공지능에 대한 지식이 아예 없을 경우, ai 엔지니어에게 물어보면서 실습을 하거나 함께 보는 게 더 낫긴합니다. 


그렇다고 파이썬과 자바의 높은 수준을 요구하는 코드들은 아닙니다. 기본기만 갖춰져 있다면, 이해하고 실습하는데 전혀 어렵지 않습니다. 이 책을 통해서 On-Device 에 ai 를 접목하는 흐름을 어느 정도 파악할 수 있었습니다. 그리고 이 책에서는 좋은 모델이 있다는 전제 하에서 진행하기에 어떤 면에서는 실무에 좀 더 적용하기 좋은 책이라고 느껴집니다. 카메라를 이용하여 실시간 이미지 처리를 하는 딥러닝 모델을 모바일에서 진행하려고 한다면 이 책이 정말 큰 도움이 될 것이다. 


이 책의 실습을 통해 좀 더 추가적인 학습과 관련 오픈소스를 연구한다면 좋은 개인 토이 프로젝트를 만들 수 있을 것 같습니다. 


정리하자면, 잘 만들어진 딥러닝 모델을 모바일에 배포하는 것에 관심이 있는 이들에게 권해주고 싶은 책입니다.






댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
실무 예제로 배우는 데이터 공학 - 파이썬과 오픈소스 프로젝트로 만드는 나만의 데이터 공학 환경과 파이프라인
폴 크릭커드 지음, 류광 옮김 / 제이펍 / 2021년 7월
평점 :
장바구니담기


"제이펍에서 책을 제공받아 작성된 서평입니다."




이번 시간에는 데이터 엔지니어링에 대한 책에 대한 리뷰를 진행하겠습니다.

데이터 엔지니어링에 쓰이는 툴에 대한 책들은 간간히 있지만 이렇게 종합적으로 다룬 책은 국내에 많지 않기에 굉장히 반가웠습니다.





저자가 말하는 책의 독자는 위와 같습니다. 파이썬을 업무에서 활용하거나 공부를 하고 있고 '데이터'를 이용한 직무를 희망한다면 이 책이 큰 도움이 될 것으로 보입니다. 




책에 대한 챕터들의 간략한 소개입니다.  


이제, 1장을 조금 보겠습니다.




1장에서는 데이터 파이프라인에 대한 흐름을 설명하면서 어떤 도구들이 사용되는지 알려줍니다. 설명과 도식화가 잘되어있어서, 

이쪽 파트가 궁금했던 저에게는 흐름을 잡는데 굉장히 유용했습니다. 항상 팀에서 카산드라, 엘라스틱 서치, 에어플로우 등등 단어들이 들렸지만 정작 제가 아직은 업무상 접할 기회가 없었기 때문입니다. 






2장에서는 설치만을 다룹니다. 데이터공학에서 사용하는 툴들은 다양하기에 이렇게 하나의 챕터에서 설치만을 다룰 수 있었는데 이 장이 도움이 되는 게 실제 업무에서 필요해따라 설치하는 일이 발생할 수 있기에 이를 직접 내 컴퓨터에 설치하는 것은 좋았습니다. 설치는 크게 어렵지 않습니다. 책 보고 커맨드를 따라서 실행하면 잘됩니다! (에러가 발생한다면 구글링을 하셔야겠지만...ㅠ)






3장부터 본격적인 데이터 파이프라인에 대한 실습을 합니다. faker 라는 라이브러리를 이용해 임의의 데이터를 만들어서 nifi 와 에어플로우 등을 통해 데이터를 핸들링하는 실습이 진행됩니다. 이러한 툴을 사용하면서 데이터를 다루니 진짜 데이터 엔지니어가 되는 기분을 느낄 수 있었습니다 ㅎㅎ 다만 책이 작년이 나온 것을 올해 번역한 것이기에 구동이 조금 안되는 경우들이 있습니다 ㅠㅠ

이런건 외서를 번역하는 it 서적의 특성상 어쩔 수 없는 부분입니다. 끈기를 가지고 해결해야 하는데 path나 환경 설정으로 에러를 해결한 경험이 없다면 실습이 굉장히 어려울 수 있습니다. 이러한 과정을 몇 번 겪어보고 익숙하다면, 구글링으로 해결하면 됩니다.




4장에서는 엘라스틱 서치를 다루는데 꽤 유용한 실습이었습니다. 



전반적으로 이 책은 데이터 엔지니어링에서 사용되는 다양한 툴을 설치해서 실습을 통해 일련의 흐름을 몸소 익힐 수 있는 책입니다. 국내에 엘라스틱서치, 카산드라 만을 설명하는 번역서들이 간간히 나오고 있지만 이렇게 '데이터공학'을 설명하기 위해 다양한 툴을 이용해 이론과 실습을 알려주는 책은 처음 보는 것 같습니다. 특히나, 신간이기에 툴의 버전이 그렇게 예전이 아닙니다. 그래서 지금 데이터를 공부하는 사람이나 저같은 주니어 개발자들은 이 책을 꼭 보면 좋을 것 같습니다! (저는 회사에 요청해서 하나 구비해서 사무실에 두려고 합니다 ㅎㅎ) 


실습이 깔끔하게 안되는 꽤 경우들이 있으니...! 구글링을 통해 실습에서 에러나는 걸 해결해야 한다는 점 꼭 유념해주세요...!


이상 '실무 예제로 배우는 데이터 공학' 리뷰를 마치겠습니다!



댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
러닝 리액트 - 최적의 리액트 코드를 작성하기 위한 모범 사례와 패턴, 2판
알렉스 뱅크스.이브 포셀로 지음, 오현석 옮김 / 한빛미디어 / 2021년 7월
평점 :
장바구니담기



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





오늘은 "러닝 리액트 2판" 의 서평을 진행해보겠습니다. 







초반 챕터에서 자바스크립트에 대한 기본 문법을 알려주긴 하지만, 이정도로 자바스크립트에 대한 기본(?)을 익히고 바로 리액트를 실습하면서 익히기에는 조금 무리가 아닐까 싶습니다. 자바스크립트에 대한 기본서를 따로 공부하시고 이 초반챕터는 복습 차원에서 이해하면 좋지 않을까 생각합니다. 







리액트에서 중요한 개념 중 하나는 함수형 프로그래밍인데 이를 초반 챕터에서 다루기에 개념 잡는데 유용했습니다. 다른 리액트 입문서들에서는 이를 챕터로써 다루지는 않았었는데 저자의 의도처럼 '리액트를 잘 모르는' 사람을 위한다는 게 이러한 챕터 구성에서 느낄 수 있었습니다.








챕터4 부터 리액트를 본격적으로 다루는데 그 기본을 조금 깊이 있게 설명해줍니다. 이러한 부분들을 보면 챕터5 까지는 자바스크립트에 대한 기본을 리마인드 및 정리, 리액트 개념과 컨셉 설명을 잘 해주는 기초적인 부분이고 6장부터 상태 관리를 다루면서 베이직하게 들어간다고 생각합니다. 


이 책을 쭉 보면 좋은 사람은 우선 리액트에 대한 2번째 기본서 또는 1번째 기본서로 좋아보이는 느낌입니다. 국내 저자가 쓴 리액트 책과 이 책을 같이 보면 리액트의 초중급 정도의 실력은 익힐 수 있을 것 같습니다. 이후 본인이 프로젝트를 하면서 실력을 더 키울 수 있을 것 같구요.  


책의 예제와 코드들은 github 에 잘 있습니다. 

좋은 리액트 책이 나왔고, 책 구성은 제목처럼 리액트를 모르는 사람이 배우기에 잘 만들어졌다고 생각합니다!






댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo