๐Ÿ‘ฉ‍๐Ÿ’ป/ruby & python

[python] Google colab/Jupyter Lab์—์„œ ์ฒซ ํ”„๋กœ์ ํŠธ ์—ด๊ธฐ

ํ•œ๋‚˜ 2020. 10. 25. 23:56

Google colab

์ƒํ™œ ์ฝ”๋”ฉ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ฐ•์˜๋ฅผ ๋“ค์„ ๋•Œ ์ดํ›„๋กœ ๋‘ ๋ฒˆ์งธ๋กœ ์‚ฌ์šฉํ•œ colab. ์ •์ž‘ ์ž˜ ์‚ฌ์šฉํ•  ์ผ์ด ์—†์–ด์„œ, ์ง€๊ธˆ ๋“ฃ๊ณ  ์žˆ๋Š” ์‹ค์Šต์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ฒŒ ๋  ์ผ์ด ๊ธฐ๋Œ€๋œ๋‹ค.

google colab์€ Colaboratory๋ฅผ ์ค„์—ฌ์„œ ๋ถ€๋ฅด๋Š” ๋ง. ๋ธŒ๋ผ์šฐ์ €์—์„œ python์„ ์ง์ ‘ ์ž‘์„ฑํ•˜๊ณ , ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ตฌ๊ธ€์—์„œ๋Š” Colab์˜ ์žฅ์ ์„ ์„ธ ๊ฐ€์ง€๋กœ ๊ผฝ๋Š”๋‹ค.

  • GPU Free Access
  • Easy Sharing
  • No Setup process

๊ทธ๋ž˜์„œ ์•„๋‚˜์ฝ˜๋‹ค๋ฅผ ๊ตณ์ด ์„ค์น˜ํ•  ํ•„์š”์„ฑ์„ ์•„์ง๊นŒ์ง€๋Š” ๋ชป ๋Š๋ผ๊ณ  ์žˆ๋‹ค!

์ฝ”๋“œ ๋ธ”๋Ÿญ ํ•œ ์ค„ ํ•œ ์ค„์— ์ฝ”๋“œ๋ฅผ ์“ฐ๊ณ , ๋ฐ”๋กœ Alt+Enter ๋˜๋Š” Shift+Enter ๋˜๋Š” Ctrl+Enter๋กœ ์‹คํ–‰ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  • Ctrl+Enter : ํ•ด๋‹น ์…€ ์‹คํ–‰ : [2] ํ–‰์—์„œ Ctrl+Enter ์‹คํ–‰ ์‹œ ๋‹ค๋ฅธ ์…€์ด ์ƒ์„ฑ๋˜์ง€ ์•Š๊ณ , [2]์˜ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ”๋กœ ํ™•์ธ๋œ๋‹ค.

์‚ฌ์‹ค ์œ„ ์ˆ์ปท ์‹คํ–‰์€ Jupyter lab์—์„œ ์ง„ํ–‰ํ•จ. colab๊ณผ ๋™์ผํ•œ ์ˆ์ปท.

 

  • Shift + Enter : ์•„๋ž˜ ์…€์„ ์„ ํƒํ•˜๊ณ , ์…€ ์‹คํ–‰. ์œ„ ์ฝ”๋“œ์— ์ด์–ด์„œ Shift+Enter ์‹คํ–‰ ์‹œ, ์ƒˆ๋กœ์šด ์…€์ด ์•„๋ž˜์— ์ด์–ด์ง„๋‹ค.

  • Alt + Enter : ์…€ ์‹คํ–‰ํ•˜๊ณ  ์•„๋ž˜์— ์ƒˆ๋กœ์šด ์…€ ์ถ”๊ฐ€.

 

์ด ์ฝ”๋“œ ๋ธ”๋Ÿญ์„ ์ฝ”๋žฉ์—์„œ๋Š” ์…€์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

ํ•˜๋‚˜์˜ ์…€์—์„œ ์ •์˜ํ•œ ๋ณ€์ˆ˜๋Š” ๋‹ค๋ฅธ ์…€์—์„œ ์žฌ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ๋ธ”๋Ÿญ์œผ๋กœ ์‹œ๊ฐ์ ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์žˆ์ง€๋งŒ, ๊ฒฐ๊ตญ ๋ชจ๋“  ์…€์€ ํ•˜๋‚˜์˜ ๋‹จ์ผ ์†Œ์Šค ์ฝ”๋“œ ์•ˆ์— ์†ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ ๋ธ”๋Ÿญ์˜ ์‹คํ–‰ ์ˆœ์„œ๊ฐ€ ๋ชจ๋‘ ๋ˆ„์ ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. Numpy๋‚˜ ๋งคํŠธํ”Œ๋กฏ๋ฆฝ ๊ฐ™์€ Python์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ชจ๋‘ ๊ตฌ๊ธ€์ด ์ œ๊ณตํ•˜๋Š” Jupyter ๋ฉ”๋ชจ์žฅ์ธ Colab ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์‹ ๊ธฐํ•œ ๊ฑด ๋งˆํฌ๋‹ค์šด ๊ธฐ๋Šฅ๋„ ์ง€์›์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ตฌ๊ธ€ Colab ์ฒ˜์Œ ํ™”๋ฉด์— ๋“ค์–ด๊ฐ€๋ฉด, ํ™˜์˜ ๋ฌธ์„œ๊ฐ€ ์ฝ”๋“œ๋ธ”๋Ÿญ ์•ˆ์—์„œ ์ฝ”๋“œ๋“ค๊ณผ ํŠ€์ง€ ์•Š๊ณ  ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์„ž์ธ ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

์•„๋ž˜๋Š” ์ƒํ™œ์ฝ”๋”ฉ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ฐ•์ขŒ ๋•Œ ์‹ค์Šตํ•œ ๋ ˆ๋ชจ๋„ค์ด๋“œ ๋”ฅ๋Ÿฌ๋‹ ์ฝ”๋“œ ์˜ˆ์ œ. ์ฝ”๋žฉ ํ™˜๊ฒฝ์—์„œ ํŒ๋‹ค์Šค์™€ ํ…์„œ ํ”Œ๋กœ์šฐ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

 

๐Ÿ” ํŒ๋‹ค์Šค(pandas) : Python ์™ธ๋ถ€ ๊ณตํ•™์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์— ๋„ฃ์–ด์„œ ์‰ฝ๊ฒŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.

๐Ÿ” ํ…์„œํ”Œ๋กœ์šฐ(Tensorflow) : ๋ฐ์ดํ„ฐ ํ๋ฆ„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ์‹ฌ๋ณผ๋ฆญ ์ˆ˜ํ•™ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด์ž, ์ธ๊ณต ์‹ ๊ฒฝ๋ง ๊ฐ™์€ ๊ธฐ๊ณ„ ํ•™์Šต ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—๋„ ์‚ฌ์šฉ๋œ๋‹ค.

 

import pandas as pd
import tensorflow as tf

ํŒŒ์ผ๊ฒฝ๋กœ = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/lemonade.csv'
๋ ˆ๋ชจ๋„ค์ด๋“œ = pd.read_csv(ํŒŒ์ผ๊ฒฝ๋กœ)

๋ ˆ๋ชจ๋„ค์ด๋“œ.head()

๋…๋ฆฝ = ๋ ˆ๋ชจ๋„ค์ด๋“œ[['์˜จ๋„']]
์ข…์† = ๋ ˆ๋ชจ๋„ค์ด๋“œ[['ํŒ๋งค๋Ÿ‰']]
print(๋…๋ฆฝ.shape, ์ข…์†.shape)

X = tf.keras.layers.Input(shape=[1])
Y = tf.keras.layers.Dense(1)(X)
model = tf.keras.models.Model(X, Y)
model.compile(loss='mse')

model.fit(๋…๋ฆฝ, ์ข…์†, epochs=10000, verbose=0)
model.fit(๋…๋ฆฝ, ์ข…์†, epochs=10)

print(model.predict(๋…๋ฆฝ))
print(model.predict([[15]]))

์‹คํ–‰ ๊ฒฐ๊ณผ

 

Jupyter lab

์ฝ”๋žฉ ๋ง๊ณ ๋„ ์ฃผํ”ผํ„ฐ๋žฉ ํ™˜๊ฒฝ๋„ ๊ฐ™์ด ๊ฐ–์ถ”์—ˆ๋‹ค. ๊ฑฐ์˜ ํ™˜๊ฒฝ์ด ๋™์ผํ•˜์ง€๋งŒ, ํŒŒ์ผ ์—ฐ๋™/์ปค์Šคํ…€ ํ•จ์ˆ˜ import ๋“ฑ์˜ ํ•œ๊ณ„๋กœ ์ฃผํ”ผํ„ฐ๋ฅผ ์“ฐ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ด์œ ๊ฐ€ ๋” ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ฃผํ”ผํ„ฐ ๋žฉ(Jupyter lab)๋„ ๋Œ€ํ™”ํ˜•์œผ๋กœ ์ฝ”๋“œ, ํ…์ŠคํŠธ, ์ˆ˜ํ•™์‹, ๋„ํ‘œ ๋“ฑ์„ ๋ชจ๋‘ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ๋œ ํŒŒ์ด์ฌ ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค๋‹ค.

 

์ฃผํ”ผํ„ฐ ๋žฉ ์„ค์น˜๋Š” cmd ์ฐฝ์—์„œ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ ํ›„, pip install jupyterlab ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋ฐ”๋กœ ์„ค์น˜๊ฐ€ ๋œ๋‹ค. (๊ทธ๋Ÿฐ๋ฐ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ์•„๋‹Œ ์ƒํƒœ์—์„œ๋„ ๋‹ค์šด์„ ๋ฐ›์•˜๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ...์–ด์จŒ๋“ .. ๐Ÿค”)

 

 

์œˆ๋„์šฐ cmd ์ฐฝ์—์„œ jupyter lab ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, ์ฃผํ”ผํ„ฐ ๋žฉ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ buildํ•œ๋‹ค.

 

์œ„์ฒ˜๋Ÿผ Build๊ฐ€ ์™„๋ฃŒ๋˜๊ณ  ๋‚˜๋ฉด, ์•„๋ž˜ ๊ฐ™์ด localhost:8888์—์„œ ์ฃผํ”ผํ„ฐ ๋žฉ์ด ๋Œ์•„๊ฐ„๋‹ค. File->Open from Path... ๋กœ ์ฃผํ”ผํ„ฐ ๋žฉ ์ž‘์—… ๊ฒฐ๊ณผ๋ฌผ์„ ์ €์žฅํ•˜๊ณ ์ž ํ•˜๋Š” ํŒจ์“ฐ๋ฅผ ์„ค์ •ํ•ด์ฃผ๊ณ , ์—ฐ๋‹ค.

 

 

Notebook -> Python 3๋ฅผ ํด๋ฆญ. untitled page๊ฐ€ ํ•˜๋‚˜ ์ƒ์„ฑ๋œ๋‹ค. ๊ฒฐ๊ตญ colab๊ณผ ์ฃผํ”ผํ„ฐ ๋žฉ์ด ๊ฑฐ์˜ ์œ ์‚ฌํ•œ ํ™˜๊ฒฝ์ด์–ด์„œ ์œ„์—์„œ ํ–ˆ๋˜ ์„ค๋ช…์ด ๊ทธ๋Œ€๋กœ ์ ์šฉ๋œ๋‹ค. ๋‹ค์Œ ๋ฒˆ์—๋Š” ์ฃผํ”ผํ„ฐ ๋žฉ์—์„œ ์ด๋Ÿฐ ์ €๋Ÿฐ ์ˆ์ปท๋“ค๊ณผ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์กฐ๊ธˆ ๋” ์‚ดํŽด๋ณผ ์˜ˆ์ •.