줄여서 'Colab'이라고도 하는 Colaboratory는 Google 리서치팀에서 개발한 제품입니다. Colab을 사용하면 누구나 브라우저를 통해 임의의 Python 코드를 작성하고 실행할 수 있습니다. Colab은 특히 머신러닝, 데이터 분석, 교육에 적합합니다. 더 기술적으로 설명하면 Colab은 호스팅된 Jupyter 노트북 서비스로, 설정하지 않고 사용 가능하며 GPU를 포함한 컴퓨팅 리소스를 무료로 사용할 수 있습니다.
정말 무료인가요?link
예. Colab은 무료로 사용할 수 있습니다.
믿기 어려울 정도로 좋아 보이는데요. 어떤 제한사항이 있나요?link
Colab 리소스는 보장되거나 무제한으로 제공되지는 않으며 사용량 한도가 달라지기도 합니다. 이런 방식으로 운영해야 Colab에서 리소스를 무료로 제공할 수 있기 때문입니다. 자세한 내용은리소스 한도를 참고하세요.
향상된 리소스를 더 안정적으로 사용하는 데 관심이 있다면Colab Pro가 적합할 수 있습니다.
Colab 리소스는 상호작용 사용 사례에 우선 할당됩니다. 일괄 연산, 다른 사용자에게 부정적인 영향을 줄 수 있는 작업, 정책을 우회하는 작업 등은 금지됩니다. 다음은 Colab 런타임에서 허용되지 않는 사항입니다.
Colab과의 상호작용 연산과 관련이 없는 파일 호스팅, 미디어 게재 또는 기타 웹 서비스 제공
Hello! I will show you how to useGoogle Colab,Google’s free cloud serviceforAI developers. With Colab, you can develop deep learning applications on theGPU for free.
Thanks to KDnuggets!
I am happy to announce that this blog post was selected as KDnuggets Silver Blog for February 2018! Read this onKDnuggets.
What is Google Colab?
Google Colab is a free cloud service and now it supports free GPU!
You can;
improve yourPythonprogramming language coding skills.
develop deep learning applications using popular libraries such asKeras,TensorFlow,PyTorch,andOpenCV.
The most important feature that distinguishes Colab from other free cloud services is;Colabprovides GPU and is totally free.
Detailed information about the service can be found on thefaqpage.
Getting Google Colab Ready to Use
Creating Folder on Google Drive
SinceColabis working on your ownGoogle Drive, we first need to specify the folder we’ll work. I created a folder named “app” on myGoogle Drive. Of course, you can use a different name or choose the defaultColab Notebooksfolder instead ofapp folder.
I created an empty “app” folder
Creating New Colab Notebook
Create a new notebook viaRight click > More > Colaboratory
Right click > More > Colaboratory
Renamenotebook by means of clicking the file name.
Setting Free GPU
It is so simple to alter default hardware(CPU to GPU or vice versa); just followEdit > Notebook settingsorRuntime>Change runtime typeandselect GPUasHardware accelerator.
It works as expected :) If you do not knowPythonwhich is themost popular programming language for AI, I would recommend this simple and clean tutorial.
Running or Importing .py Files with Google Colab
Run these codes first in order to install the necessary libraries and perform authorization.
When you run the code above, you should see a result like this:
Clickthe link,copyverification code andpasteit to text box.
After completion of the authorization process, you should see this:
Now you can reach you Google Drive with:
installKeras:
!pip install -q keras
uploadmnist_cnn.pyfile toappfolder which is located on yourGoogle Drive.
mnist_cnn.pyfile
run the code below to train a simple convnet on theMNIST dataset.
파이썬은 비영리의파이썬 소프트웨어 재단이 관리하는 개방형, 공동체 기반 개발 모델을 가지고 있다.
파이썬은 초보자부터 전문가까지 사용자층을 보유하고 있다.동적 타이핑(dynamic typing)범용 프로그래밍 언어로,펄및루비와 자주 비교된다. 다양한 플랫폼에서 쓸 수 있고, 라이브러리(모듈)가 풍부하여,대학을 비롯한 여러 교육 기관, 연구 기관 및 산업계에서 이용이 증가하고 있다. 또 파이썬은 순수한 프로그램 언어로서의 기능 외에도 다른 언어로 쓰인 모듈들을 연결하는접착제 언어로써 자주 이용된다. 실제 파이썬은 많은 상용 응용 프로그램에서스크립트 언어로 채용되고 있다. 도움말 문서도 정리가 잘 되어 있으며,유니코드문자열을 지원해서 다양한 언어의 문자 처리에도 능하다.
현대의 파이썬은 여전히 인터프리터 언어처럼 동작하나 사용자가 모르는 사이에 스스로 파이썬 소스 코드를 컴파일하여 바이트 코드(Byte code)를 만들어 냄으로써 다음에 수행할 때에는 빠른 속도를 보여 준다.
파이썬에서는들여쓰기를 사용해서 블록을 구분하는 독특한 문법을 채용하고 있다. 이 문법은 파이썬에 익숙한 사용자나 기존 프로그래밍 언어에서 들여쓰기의 중요성을 높이 평가하는 사용자에게는 잘 받아들여지고 있지만, 다른 언어의 사용자에게서는 프로그래머의 코딩 스타일을 제한한다는 비판도 많다. 이 밖에도 실행 시간에서뿐 아니라 네이티브 이진 파일을 만들어 주는C/C++등의 언어에 비해 수행 속도가 느리다는 단점이 있다. 그러나 사업 분야 등 일반적인 컴퓨터 응용 환경에서는 속도가 그리 중요하지 않고, 빠른 속도를 요하는 프로그램의 경우에도 프로토타이핑한 뒤 빠른 속도가 필요한 부분만 골라서 C 언어 등으로 모듈화할 수 있다(ctypes,SWIG,SIP등의 래퍼 생성 프로그램들이 많이 있다). 또한Pyrex,Psyco,NumPy등을 이용하면 수치를 빠르게 연산할 수 있기 때문에 과학, 공학 분야에서도 많이 이용되고 있다. 점차적인 중요성의 강조로 대한민국에서도 점차 그 활용도가 커지고 있다.
파이썬 2.0은 2000년 10월 16일 출시되었으며메모리 관리를 위한 사이클 감지쓰레기 수집기(참조 카운팅뿐 아니라),유니코드지원을 포함한 새롭고 수많은 주요 기능들이 포함되었다. 그러나 가장 중대한 변화는 개발 프로세스 그 자체로서, 더 투명하고 공동체의 지원을 받는 프로세스로의 전환이다.[4]
파이썬 3.0은 메이저급의 하위 호환성이 없는 릴리스로서 2008년 12월 3일 출시되었으며[5]이는 수많은 테스트 기간을 거친 뒤에 개발되었다. 주요 기능들 중 다수가 하위 호환이 가능한 파이썬 2.6, 2.7로백포팅되고 있다.[6]
## 인스타그램 이미지 크롤링
#
##
import os
import sys
import konlpy
import pandas as pd
import numpy as np
os.environ['JAVA_OPTS'] = 'Xmx4096M'
## 시간 표시 #####################################
import time
import datetime
now = datetime.datetime.now()
timeserise = time.time()
timeserise = str(int(timeserise))
print(timeserise)
print(now)
#################################################
#작업하는 경로(위치)가 어디인지 확인
print(os.getcwd())
prePath = "./Project/instagram_cr/"
file_name = prePath + "outputfile0.txt"
# 라이브러리 추가
from bs4 import BeautifulSoup #불러온 데이터를 구분지어 원라는 데이터 출력
from selenium import webdriver #Chromedriver를 사용하여, 자동화 시스템 구동
## chrome 버전 안맞으면 아래와 같은 에러 발생함. chromedriver 버전 확인 필수
# selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 94
# Current browser version is 105.0.5195.102 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
#
# GoUrl : https://chromedriver.storage.googleapis.com/index.html?path=105.0.5195.52/
##
from urllib.request import urlopen
from urllib.parse import quote_plus # ASCII 형태로 자동 변형
import requests
import shutil
testurl_01 = "https://www.instagram.com/explore/tags/"
testurl_02 = input("Please input the word to search for : ")
testurl_03 = testurl_01 + quote_plus(testurl_02)
print(testurl_03)
## 아래 오류때문에 추가함. options
# USB: usb_device_handle_win.cc:1048 Failed to read descriptor from node connection: 시스템에 부착된 장치가 작동하지 않습니다.
## options start
options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-logging"])
#browser = webdriver.Chrome(options=options)
## options end
#driver_01 = webdriver.Chrome()
driver_01 = webdriver.Chrome(options=options)
driver_01.get(testurl_03)
html_01 = driver_01.page_source
#print(html_01)
Source_01 = BeautifulSoup(html_01,"html.parser")
#Source_01 = BeautifulSoup(html_01,"lxml")
#Source_01 = BeautifulSoup(html_01)
time.sleep(5)
#print(Source_01)
print(Source_01.prettify())
o = open(prePath +'result_list.txt', 'w', encoding='utf-8')
o.write("")
o.write(Source_01.prettify())
o.close()
var_list = [1, 3, 5, 7, 9]
for ii in var_list:
print("----------------------------------------")
Demo_insta = Source_01.select('._a3wf._-kb.segoe')
print(Demo_insta)
for each_div in Source_01.findAll('div',{'class':'list'}):
print(each_div)
"""
x_1 = 1
for i in Demo_insta:
print("https://www.instagram.com/" + i.a['href'])
#img_01 = i.select_one('_aagt').img['src']
#print(img_01)
"""
driver_01.close()