EAT-SLEEP-CODE-REPEAT

Life is too short. Programming book is too thick. I am too lazy to practice all.

반응형

전체 글 26

[환경설정]구글 코랩에 런타임 GPU로 설정 방법

구글 코랩은 머신러닝 관련 클라우드 서비스로, 딥러닝을 실행시킬수 있는 환경을 웹으로 제공합니다. 여러 가지 장점이 많은데, 그 중 몇가지는 이러합니다. - 딥러닝 개발/학습을 위한 라이브러리가 이미 설치 -고가인 GPU도 저렴하게, 또는 무료로 사용 가능 - Google Drive, GitHub과의 연동이 편리 구글 계정만 있으면 바로 사용할 수 있어서 많은 학습자/개발자들이 구글 코랩을 이용합니다. 특히 속도면에서 GPU를 사용했을 때 훨씬 빠르니, 구글 코랩의 무료 GPU를 많이 찾는데요. 간단한 설정 방법을 보겠습니다. 1 . 런타임 탭에 [런타임 유형 변경]을 클릭합니다. 2. 하드웨어 가속기 아래 옵션을 클릭하여 GPU로 설정합니다. 저장을 누르고 코드를 실행시키면 됩니다.

Deep Learning 2022.05.16

[환경설정]코랩 파일(ipynb) 만들고, 파이썬 파일(py)로 저장하는 법

머신러닝, 인공지능 입문자라면 꼭 사용하게 될 도구로 구글 코랩이 있습니다. 무료이고, 웹에서 편하게 실습할 수 있다는 등 공부를 막 시작한 분에게 좋은 점이 많기 때문입니다. 그럼 코랩 파일(ipynb) 만드는 방법을 보겠습니다. 1 구글 드라이브를 연다 그 전에 당연히 구글 계정에 로그인되어있어야 합니다. 2 좌측 상단에 파일 ‘새로 만들기’ 버튼을 클릭한다. 3 더보기 - Google Colaboratory 버튼을 클릭한다. 코랩을 처음 여는 분이라면 Colab Notebooks 라는 폴더가 새로 생성되면서 파일이 열립니다. 그리고 이렇게 빈 파일이 만들어집니다. 이 파일은 파이썬 파일(py)로도 저장할 수 있는데요. 상단 파일 탭에 다운로드를 클릭하여 원하는 파일 형식은 선택하시면 됩니다.

Deep Learning 2022.05.09

[환경설정] 깃헙에 많은 코드 한번에 코랩에서 여는 법

코랩에서 딥러닝 학습을 할 때 많은 코드 쉘을 사용한다. 교수님께서는 깃헙에서 수업 코드를 공유해주시는데 당연히(?) 일일히 타자치기 싫기에 찾아보니 깃헙 코드를 그대로 코랩에서 여는 방법이 있다. 1단계: 먼저 복사할 깃헙 코드에서 Go to file - Copy permalink 버튼을 클릭한다. 자동으로 링크가 복사된다. 2단계: 새 코랩 파일을 만든다. 3단계: 상단 탭에서 [파일] - [노트 업로드]를 클릭한다. 4단계: 상단 탭에서 [GitHub]를 클릭한다. 5단계: 검색란에 복사한 링크를 붙여넣기하고, 코드를 연다. 그럼 새 탭에서 원하는 깃헙 코드를 다 열 수 있다.

Deep Learning 2022.05.08

[C언어] 재귀적 피보나치 수열 구현

피보나치 수열에서는 앞의 두 개의 숫자를 더해서 뒤의 숫자를 만든다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55... int fib(int n) { if( n==0 ) return 0; if( n==1 ) return 1; return (fib(n-1) + fib(n-2)); } 이 코드를 이용해서 fib(6)를 실행하면 fib()함수가 25번이나 호출된다. fib() 함수가 25번이나 호출된다. 중간에 계산되었던 값을 기억하지 않고 다시 계산하기 때문이다. fib(6) 1번 호출 fib(5) 1번 호출 fib(4) 2번 호출 fib(3) 3번 호출 fib(2) 5번 호출 fib(1) 8번 호출 시간복잡도 O(2^n) 따라서 n이 커지면 커질수록 엄청난 순환호출이 필요하게 된다. 그..

C 2021.09.28

[C언어] 재귀적 거듭제곱 계산 구현

■ 재귀적 거듭제곱 계산 구현 C언어로 재귀(순환, recursion)적 거듭제곱 계산을 구현하면 다음과 같다. double power(double x, int n) { if (n == 0) return 1; else if ((n % 2) == 0) return power(x * x, n / 2); else return x * power(x * x, (n - 1) / 2); } 결과값을 볼 수 있는 전체 실행코드 #include double power(double x, int n) { if (n == 0) return 1; else if ((n % 2) == 0) return power(x * x, n / 2); else return x * power(x * x, (n - 1) / 2); } int ma..

C 2021.09.28

[C에러]오류 LNK2019_main"int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 함수에서 참조되는 확인할 수 없는 외부 기호

블로그 코드를 그대로 복붙하다보니 생긴 에러 [C에러]오류 LNK2019_main"int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 함수에서 참조되는 확인할 수 없는 외부 기호, 해결방 법은 간단했습니다. ■ 해결방법 함수명을 알맞게 수정 제 코드에서는 함수명을 main으로 바꾸니 해결되었습니다. 수정 전 수정 후

C 2021.09.24

[파이썬에러]TypeError: unsupported operand type(s) for /: 'str' and 'int'

TypeError: unsupported operand type(s) for /: 'str' and 'int' 에러가 생긴 이유는 말 그대로 올바르지 않은 타입(data type)를 입력해서 그렇다. 아래 코드처럼 메서드 divide는 매개변수 2개를 받아서 나누기 연산을 하고 있다. 즉, 매개변수는 숫자이어야 한다. 하지만 4번 줄에서 메서드의 첫 번째 요소를 "2"문자로 적으니 TypeError가 발생하였다. TypeError 해결방법: 입력값을 숫자로 변경

Python/Error 2021.08.20

파이참에서 여러 줄 들여/내여쓰기, 주석처리하는 단축키

파이참(PYCHARM)에서 유용하게 쓰이는 단축키를 몇 가지 보겠습니다. 여러 코드 줄 들여/내여쓰기 여러 코드 줄 주석처리하기 ■ 여러 줄 들여쓰기 : TAB 여러 줄에서 들여쓰기를 하고 싶다면 그 줄을 드래그한 다음 TAB를 누릅니다. ■ 여러 줄 내여쓰기 : SHIFT + TAB 한 줄씩 내여쓰기하기 귀찮기 때문에 역시 드래그하여 SHIFT + TAB 를 누릅니다. ■ 여러 줄 주석처리 : CTRL + / 주석 처리하기 위해 줄 앞에 #를 붙이면 됩니다. 하지면 여러 줄일 때는 간편하게 드래그하여 CTRL + /(슬래시) 누르면 훨씬 편리합니다. ■ 한 줄 주석처리 : CTRL + / 역시 주석처리할 줄에 커서를 갔다대고 CTRL + /(슬래시) 누르면 됩니다.

Python 2021.08.09

[파이썬에러]ImportError: No module named matplotlib 모듈 수동설치하기

실행환경: 맥OS, pycharm 터미널에서 python -m pip install --user [모듈]를 했는데도 파이참에서 import가 안 된다면? ImportError: No module named matplotlib ■ 해결방법 모듈 수동으로 설치하기 설치하려는 모듈에 마우스를 갖다대어 나오는 목록에서 첫번째 Install package [모듈이름]를 클릭합니다. 그럼 프로그램 왼쪽 하단에 Installing package '모듈 이름..'라고 설치되고 있습니다. 해결

Python/Error 2021.08.05

주피터 기본 사용법_주피터 실행 시키는 법,셀 실행 단축키

사전작업 아나콘다 설치하기 ■ 주피터 실행 시키는 법 1 시작 메뉴에서 [ Jupyter Notebook ] 검색하여 클릭합니다. 2 브라우저가 열리면서 주피터 노트북이 실행됩니다. 안 되면 명령 프롬포트 창에 나온 링크를 복사해서 직접 주소창에 복붙합니다. 3 작업할 폴더에 들어가서 [ New ] - [ Python 3 ]를 선택합니다. 4 셀 안에 수식을 작성합니다. 5 [ Run ] 버튼을 클릭합니다. ■ 셀 실행 단축키 [ Run ] 버튼 대신 shift + Enter 아니면 Ctrl + Enter 키로도 셀을 실행할 수 있습니다.

[파이썬 에러] TypeError: describe_pet() got multiple values for keyword argument 'animal_type'

함수를 호출하면서 매개변수에 어떤 값을 연결할지 명시적으로 지정하고 싶었다. describe_pet 함수에 품종과 이름 순대로 적으면 첫번째 요소는 animal_type, 두번째 요소는 pet_name으로 지정되어 제대로 출력될 터였다. 하지만 두번째 매개변수에 명시적으로 animal_type="ooo"를 넣으니 animal_type이 여러 값을 가지게된다고 에러가 발생했다. 해결방법 1 함수 호출할 때 넘긴 매개변수 순서가 함수를 정의할 때의 순서와 같게 한다. 즉, 함수 정의한 대로 넘기고 싶은 값을 순서대로 넣는다. 해결방법 2 모든 값을 각각 어디에 연결할지 정확히 지정한다. 그럼 매개변수 순서는 문제가 되지 않는다.

Python/Error 2021.07.08

파이썬 리스트 요소 제거하는 방법_del(), pop(), remove()

파이썬 리스트 요소 제거하는 방법_del(), pop(), remove() ■ 제거할 요소의 위치(인덱스)로 제거하기 >>> days = ['mon', 'tue', 'wed'] >>> del days[1] >>> days ['mon', 'wed'] 삭제할 요소의 인덱스를 안다면 del를 사용할 수 있습니다. >>> days = ['mon', 'tue', 'wed'] >>> days.pop(1) 'tue' >>> days ['mon', 'wed'] pop메서드 괄호에 빼낼 요소의 인덱스를 넣으면 반환과 동시에 삭제됩니다. ■ 원하는 값 바로 지우기 >>> days = ['mon', 'tue', 'wed'] >>> days.remove('tue') >>> days ['mon', 'wed'] 제거할 값의 위치..

Python 2021.02.07

파이썬의 원칙(The Zen of Python)_import this

파이썬의 원칙(The Zen of Python)_import this 파이썬의 선(The Zen of Python)은 좋은 파이썬 코드를 작성하기 위한 간단한 원칙입니다. 인터프리터에서 import this를 입력하면 볼 수 있습니다. >>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special ..

Python 2021.02.07

파이썬 밑줄(_)로 자릿수 나누기

파이썬 밑줄(_)로 자릿수 나누기 파이썬에서는 큰 수를 사용할 때 다음과 같이 자릿수를 나눠서 밑줄로 구분할 수 있습니다. >>> universe_age = 14_000_000_000 >>> print(universe_age) 14000000000 숫자를 정의할 때 밑줄을 사용했다 하더라도, 출력할 때는 항상 및줄 없이 숫자만 출력됩니다. 그 이유는 파이썬은 숫자를 저장할 때 밑줄을 무시하기 때문입니다. >>> num1 = 1000 >>> num2 = 1_000 >>> num3 = 10_0_0 >>> print(num1, num2, num3) 1000 1000 1000 밑줄(_)를 사용하여 자릿수를 구분할 수 있으니 프로그래머가 큰 수를 이해하고 표현하는데 생길 수 있는 실수를 많이 줄일 수 있을 것 같..

Python 2021.02.07

파이썬 정수 연산 _사칙연산, 지수, 부동소수점

파이썬 정수 연산 정리 ■ 기본 사칙연산 파이썬에서 정수를 더하고(+), 빼고(-), 곱하고(*) 나누는(/) 연산을 하는 방법은 아래와 같습니다. >>> 2+3 5 >>> 3-2 1 >>> 2*3 6 >>> 3/2 1.5 참고로 파이썬은 정수로 나눗셈을 하더라도 항상 부동소수점으로 표현됩니다. ■ 지수 지수를 쓸 때는 *(별표, Asterisk) 기호를 두 개 사용합니다. >>> 3 ** 3 27 >>> 10 ** 6 1000000 ■ 실수(소수점이 있는 숫자)와 연산하면? 실수와 정수를 함께 계산하면 표현 범위가 넓은 실수로 표현됩니다. >>> 0.1+0.1 0.2 >>> 0.2+0.2 0.4 >>> 2*0.1 0.2

Python 2021.02.07

[파이썬 에러]Exception 정의 후 IndentationError: expected an indented block

[파이썬 에러]Exception 정의 후 IndentationError: expected an indented block 커스텀 예외를 만들기 위해 Class 정의 후 공란으로 두었더니 들여쓰기 에러가 발생했다.IndentationError: expected an indented block 이처럼 클래스를 정의하고 내부를 비워둘 경우 pass를 적거나, 주석을 달아야 한다. 해결방법 1 class MyException(Exception): pass 여기서 pass의 의미는 try문 안에서 MyException(에러)가 발생할 경우에 오류를 그냥 회피하겠다는 뜻이다. 해결방법 2 class MyException(Exception): """pass"""

Python/Error 2021.01.14

[파이썬 에러]SyntaxError: Non-ASCII character '\xec' ~~; see http://python.org/dev/peps/pep-0263/ for details 원인/해결방법

[파이썬 에러]SyntaxError: Non-ASCII character '\xec' ~~; see http://python.org/dev/peps/pep-0263/ for details 파이썬에서 SyntaxError: Non-ASCII character '\xec' 에러가 발생했다. 원인은 한글 인코딩 문제였다. 해결방법: 코드 첫번째 줄에 '# -*- coding: utf-8 -*-' 입력하기 UTF8 사용시 아래 코드 그대로 복사해서 복붙하면 된다. # -*- coding: utf-8 -*- euc-kr 사용 시에는 # -*- coding: euc-kr -*-

Python/Error 2020.12.25
반응형