분류 전체보기 76

[데이터 엔지니어링 부트캠프] 2주차 회고

이상하다... 분명히 2주차 같은데 왜 센터에서는 3주차 회고 작성 바란다고 하지...?? 좋았던 점 파이썬 기초 문법들의 심화 내용: 이전부터 파이썬을 다뤄봤던 입장에서 그동안 잘 모르고 사용해왔던 문법들을 조금 더 깊이 알아가는 것이 좋았습니다. 이미 알고 있던 내용들은 복습하고, 지엽적으로만 알고 있어서 알지 못했던 유용한 기능들을 새로 배울 수 있어 좋았습니다. 프로그래머스나 백준에서 코딩 테스트 연습할 때 정말 도움이 많이 됐습니다. 회고 작성과 코딩 테스트 연습 및 깃허브 커밋의 루틴화: 꾸준함을 보여줄 수 있는 수단이 각 사이트마다 내장되어 있는 만큼, 자신이 꾸준히 공부와 연습을 하면서 노력하고 있음을 보여주는 지표를 채워나가는 보람이 있습니다. 하다 보니까 재미도 있고. 실습 위주의 st..

[파이썬] 시퀀스 자료형 종합 정리

시퀀스 자료형 우리가 파이썬에서 흔히 사용하는 자료형인 리스트, 튜플, 문자열, range 객체 등을 통틀어서 시퀀스 자료형이라고 일컫기도 합니다. 이 친구들은 공통적으로 값이 연속적(sequentially)으로 이어져 있다는 특징이 있습니다. 이러한 특징 때문에 파이썬에서 제공되는 메서드, 그 외에 코딩할 때 사용되는 테크닉 등이 여럿 겹치기도 합니다. 공통 기능 1. 특정한 값(요소, element)이 안에 있는지 확인하는 기능 시퀀스 자료형에 어떤 값이나 요소가 포함되어 있는지를 확인하고 싶을 때 in이라는 방법을 사용합니다. {요소 이름} in {시퀀스 자료}의 폼으로 작성하면 됩니다. 앞서 리스트, 튜플, 문자열, range 객체 등을 통틀어서 시퀀스 자료형이라고 했는데, 실제 예제에서도 같은 ..

[데이터 엔지니어링 부트캠프] 1주차 회고

4L 회고 방식을 베이스로 부트캠프 기간 주별 회고를 작성합니다. 좋았던 점 오프라인으로 진행하다는 점: 아침 9시부터 움직이다는 건 썩 피곤한 일이긴 하지만, 그것만 제외하면 루틴 형성에는 괜찮은 것 같습니다. 무엇보다 온라인으로만 진행했을 때 나태해지기 쉽다는 점을 고려하면 오프라인의 번거로움은 충분히 감수할 만하다고 봅니다. 지옥의 출근 시간이라는 점만 감내한다면... 세세한 개념: 대학원 시절 거의 독학으로, 그것도 파이썬 언어 한 가지만 급하게 배워서 사용하다 보니 자주 쓰는 기능조차도 제대로 이해하지 못한 부분이 가장 아쉬웠습니다. 그런 부분에서 타 언어와의 비교까지 곁들인 개념 설명은 큰 도움이 되었습니다. 코딩 테스트 연습에서도 이 점이 소소한 도움이 되었습니다. 학습 방법론: 학습에 도움..

[파이썬]jupyter notebook 환경에서의 멀티프로세싱 모듈 문제에 대하여...

들어가기 전에 이번 포스트는 jupyter notebook에 어느 정도 익숙해졌다고 착각한 어느 초보 개발자의 뻘짓삽질을 담고 있습니다. 개인 기록의 성격이 짙으니 감안해주시길...! 파이썬 기본 라이브러리를 다루다 보면 꼭 지엽적으로만 파고 들어서 나중에 가면 "아... 이게 뭐였더라??" 하는 내용도 있고, 아예 처음 다뤄보는 라이브러리 중에는 사용법이 영 직관적이지 못해 애를 먹는 경우가 있습니다. 제 경우, 후자에 해당하는 대표적인 라이브러리가 바로 multiprocessing 모듈이었죠. 여러 개의 CPU 코어를 사용해 병렬 연산을 가능하게 해주는 만큼 이 모듈은 매우 강력한 모듈임에는 분명합니다. 문제는 이 모듈이 .py 스크립트에서만 돌아가는 것처럼 보였다는 것. multiprocessing..

[패스트캠퍼스]Chapter 4. 딥러닝 학습을 위한 프레임워크 04-01 파이토치(PyTorch) 개요

Chapter 4. 딥러닝 학습을 위한 프레임워크 자, 딥러닝을 위한 밑작업이 어느 정도 마무리되었으니, 이제 본격적으로 딥러닝 학습에 직접적으로 이용되는 프레임워크들을 알아보겠습니다. 현업에서 주로 쓰이는 라이브러리에는 현재 파이토치(PyTorch)와 텐서플로(TensorFlow) 등이 있으며, 최근 몇 년간을 기준으로 파이토치의 점유율이 조금씩 커지고 있는 추세입니다. 깃허브 등에 들어가면 상당수의 머신러닝, 딥러닝 코드가 파이토치로 작성되고 있죠. 텐서플로만 쓸 줄 알았던 저 같은 유저들은 뒷목을 잡았습니다... 하지만 그렇다 해도 파이토치와 텐서플로 두 프레임워크의 장단점이 있기 때문에 파이토치와 텐서플로의 순서대로 두 프레임워크를 모두 배워보겠습니다. 04-01 파이토치(PyTorch) 개요 들..

[패스트캠퍼스]Chapter 3. 딥러닝을 위한 파이썬 03-14 예외 처리

03-14 예외 처리 이제 파이썬 기능에 대한 마지막 포스트로 예외 처리에 대해 알아보겠습니다. 예외는 프로그램 실행 중 발생하는 오류를 뜻합니다. 이러한 오류가 발생하면 프로그램이 그 자리에서 멈추기 때문에, 때로는 이러한 예외가 발생하더라도 프록램이 그대로 실행되게끔 처리해주는 과정이 필요합니다. 이를 예외 처리라고 합니다. 예외 def) 예외 처리(exception handling): 프로그램이 처리되는 동안 특정한 문제가 일어났을 때 처리를 중단하고 다른 처리를 하는 것 (동의어: 오류 처리(trouble shooting)) 예외, 즉 오류, 에러에는 여러 종류가 있습니다. 대표적으로 아래 첫 번째 이미지에서 보는 것과 같이 어떤 수를 0으로 나누면, 수학적으로 0으로 나누는 것이 불가능하기 때문..

[패스트캠퍼스]Chapter 3. 딥러닝을 위한 파이썬 03-13 클래스의 이해와 활용

03-13 클래스의 이해와 활용 저번 포스트에서 소개한 함수와 더불어, 코드를 더욱 용이하게 사용하기 위한 수단 중 하나로 클래스(class)가 존재합니다. 잘만 사용하면 매우 유용한 기능이지만, 입문자들에게 있어서는 함수와 함께 통곡의 벽 가장 큰 장벽으로 꼽히기도 합니다. 클래스와 관련된 메서드와 그 외의 기법들도 한 두 가지가 아니지만, 여기서는 가장 기본적인 클래스의 개념과 사용 방법 위주로 소개해보겠습니다. 클래스와 객체 흔히 클래스, 객체를 설명할 때 붕어빵 또는 과자 틀에 비유해서 이야기하고는 합니다. 어떤 식이냐면... 클래스: 붕어빵 (또는 과자) 틀 객체(object): 틀로 찍어낸 붕어빵 (또는 과자) 객체와 인스턴스(instance)라는 용어가 함께 사용되고 있으니 참고하세요. 두 ..

[패스트캠퍼스]Chapter 3. 딥러닝을 위한 파이썬 03-12 함수의 이해와 활용

아이고... 예비군이니 뭐니 바쁘기도 하거니와 좀 쉬고 왔습니다. 다시 달려보죠! 03-12 함수의 이해와 활용 코드를 여러 케이스에 대해 반복적으로 적용해야 할 경우, 스크립트가 길어지기 마련입니다. 이를 위해서 함수, 그리고 다음 포스트에서 언급할 클래스를 적극적으로 활용하면 소스코드를 기능별로 분리할 수 있습니다. 이러면 코드의 가독성을 높일 수 있고 유지/정비가 용이해진다는 장점도 있습니다. 함수의 정의 함수는 영단어 define에서 따온 def 구문을 이용해 정의할 수 있습니다. 해당 구문 뒤에 함수의 이름, 함수에 들어갈 입력값 (그리고 반환하는 값이 있어야 할 경우 return 문) 등의 요소로 구성됩니다. 여기서 함수에 들어가는 입력값을 인수라고 합니다. 예를 들어, 숫자 3개를 입력받아 ..

[패스트캠퍼스]Chapter 3. 딥러닝을 위한 파이썬 03-11 파일 입출력

03-11 파일 입출력 머신러닝과 딥러닝 영역에서 모든 작업을 파이썬으로만 수행하는 것은 아닙니다. 다른 프로그램 또는 플랫폼에서 만들어진 자료를 파이썬으로 불러와 작업을 하는 것이 오히려 더 일반적이죠. 또한 학습이 끝난 머신러닝 모델이나 예측 결과 데이터를 파이썬 바깥으로 내보내는 작업도 흔히 있는 일입니다. 프로그램이 종료된 후에도 열람할 수 있게 데이터를 저장하는 것은 매우 중요하죠. 저장을 생활화합시다 이번 포스트에서는 이러한 파일 입출력에 대해 알아보겠습니다. 파일 객체 일반적으로 우리가 어떤 프로그램에서 데이터를 열고 닫을 때 GUI를 쓰는 것과 달리, 프로그래밍 언어 상에서 파일을 열고 닫을 때는 다소 비직관적이지만 널리 통용되는 방법이 있습니다. 파일의 주소에 접근한 후에 그 상태에서 파..

[패스트캠퍼스]Chapter 3. 딥러닝을 위한 파이썬 03-10 반복문

03-10 반복문 어느 프로그래밍 언어든지 가장 중요한 문법 하나를 꼽으라면 반복문의 존재가 아닐까 합니다. 하나의 코드로 수행해야 하는 작업을 여러 번 반복해야 할 경우, 반복문을 적용하는 것만으로 사용자의 수고를 덜고 효율적인 작업이 가능하기 때문이죠. 파이썬에서는 for문이 대표적으로 사용되고, 이를 지난 포스트에서 설명한 조건문과 합친 while 반복문도 사용됩니다. for 문법 for 문은 반복 횟수를 지정한 후, 그 횟수만큼 정해진 문법을 수행하는 반복문입니다. 파이썬의 for 문은 여러 가지 괴랄한 변칙적인 적용이 가능한데, 이는 타 언어에서 횟수를 지정하는 카운터만을 이용하는 것과 달리 리스트 또는 튜플 내의 원소 자체를 카운터의 척도로 이용할 수 있기 때문입니다. 말로 설명하긴 뭐하니 예..