Ugrás a fő tartalomra

Google Colab alapok

A Google Colab az egyik felhő alkalmazás amely többek között AI/MI (mesterséges inteligencia) fejlesztésre is képes.

Használata egyszerű, öndokumentáló és több féle képen használható, skálázható.


Többféle kapcsolódással használhatjuk:



Bekapcsolgató a GPU vagy TPU hardver gyorsítás:





A google megoldása a Jupyter notebook tervezési és működési rendszerén nyugszik. A nagy előnye, hogy nem szükséges alkalmazást letölteni vagy telepíteni a számítógépre, hanem online és azonnal elérhető, használható.

A használata ingyenes, csak egy Google fiók szükséges hozzá. A Google Drive tárhelyen tudjuk létrehozni, tárolni és le- vagy feltölteni a .ipynb fájlokat és az esetleges nagy forrásokat, amelyeket a Colab használ.






A programok futtatása és a számítási folyamatok felhőben, a Google szerverein történnek. Így nagyobb feladatok esetén sincs szükségünk hatalmas számítási teljesítménnyel rendelkező számítógépre, megoldja helyettünk a Google Colab a feladatot.


Képfeldolgozás, gépi látás vagy mély tanulás (deep learning) alkalmazása esetén lehetőségünk van GPU (Tesla K80 GPU) vagy TPU (tensor process unit) ingyenes használatára is.




GitHub python Colab minta link


Ez a segítség meggyorsítja a nagy számítási igényt jelentő programok futtatási sebességét.





Mágikus parancsok

Ha parancs kezdete % és %% akkor mágikus parancs / magic commands -al a futtatást befolyásoljuk

A %pylab magic command betölti az IPython namespace-t



Két típusa a mágikus parancs jelölő prefixnek:

• Sorra vonatkozó (Line-oriented): Prefixe single percent (%)

• Cellára vonatkozó (Cell-oriented): Prefixe double percent (%%)





%pylab inline     ## első parancs legyen, edit mod bekapcsolására szolgál

--> imports NumPy and matplotlib

--> bekapcsolja az inline plots rajzolás lehetőséget.



%lsmagic          ## összes mágikus parancs lehetőség és jelentésének kilistázása



%autosave 300     ## automatikus mentés bekapcsolása, időtartam megadással

%autosave 0       ## automatikus mentés kikapcsolása



%load_ext cythonmagic   ## cythonmagic kiterjesztet modul betöltése

%%cython                ## használat

cimport cython

from libc.math cimport sin

@cython.cdivision(True)



Magic parancs -> Hatása, eredménye

%cd -> Changes the directory

%pwd -> Prints the current directory

%ls -> Lists the current directory contents

%mkdir -> Creates a new directory

%rmdir -> Removes a directory

%echo -> Prints a string

%alias -> Creates an alias



%load lorenz.py   ## python file betöltése

%load http://matplotlib.org/mpl_examples/pylab_examples/boxplot_demo2.py



%run lorenz.py     ## py állomány futtatása



## más program nyelvek (python-on kívül) használata:

Cell magic parancs -> program nyelv, értelmező 

%%HTML or %%html -> HTML

%%SVG or %%svg -> Scaled Vector Graphics Language (SVGL)

%%bash -> The Bash scripting language, which is available in

Unix-like -> systems such as Ubuntu and Mac OS X

%%cmd -> MS Windows command-line language

%%javascript -> JavaScript

%%latex -> LaTeX, the scientific-oriented document preparation language

%%perl -> The PERL scripting language

%%powershell -> The MS Windows PowerShell language

%%python2 or %%python3 -> Run a script written in a version of Python different than the one the notebook is running

%%ruby -> The Ruby scripting language



%automagic off     ## mágikus paracsok kikapcsolása







!dir    ## Shell parancs futatása, könyvtár lista



## Shift + Enter   ## gyors parancs/gyors billentyű kombináció parancs sor tartalmának futtatása



## (normál) modulok importálása

import numpy as np



%timeit sin_area(0, pi, 10000)  ## futásidő vizsgálat



### ---- más prormanyelvek használata

%%SVG
%%svg
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 450 400" width="200" height="200">
  <rect x="80" y="60" width="250" height="250" rx="20" style="fill:red; stroke:black; fill-opacity:0.7" />
  <rect x="180" y="110" width="250" height="250" rx="40" style="fill:blue; stroke:black; fill-opacity:0.5;" />
  <circle cx="200" cy="150" r="100" style="fill:Wheat; stroke:SteelBlue; stroke-width:5;"/>
  <line x1="10" y1="10" x2="250" y2="85" style="stroke:SlateBlue; stroke-width:4"/>
  <polyline points="20,30 50,70 100,25 200,120" style="stroke:orange; stroke-width:3; fill:olive; opacity:0.65;"/>
</svg>


%%html
<h1 id="hellodisplay">Hello, world!</h1>





%%javascript

element = document.getElementById("hellodisplay")

element.style.color = 'blue'





### grafika készítése és mentése

%matplotlib

xvalues = linspace(-pi,pi,200)

fcts = [('sin', sin), ('cos', cos), ('exp', exp)]

for fctname, fct in fcts:

yvalues = fct(xvalues)

fig=figure()

ax = fig.add_subplot(1,1,1)

ax.plot(xvalues, yvalues, color='red')

ax.set_xlabel('$x$')

strname = '$\\%s(x)$' % fctname

ax.set_ylabel(strname)

fig.savefig(fctname + '.png')



### grafika alaphelyzetbe állítása és betöltése

%matplotlib inline



## ---

To run a cell, the following shortcuts are used:

°° To run a cell and move to the next cell, press Shift + Enter

°° To run a cell, but stay in the same cell, press Ctrl + Enter

°° To run a cell and insert a new cell below it, press Alt + Enter

°° To create a new line in the current cell, press Enter


https://github.com/fchollet/deep-learning-with-python-notebooks


A modulok hierarchikus struktúrába rendezhetők.

Ez esetben az almodulokat tartalmazó modulok, amiket packageeknek is neveznek,

a filerendszer könyvtáraiként vannak definiálva.



A modulok elnevezése tehát konkatenációval történik : modul.almodul.

A kód portabilitásának egyszerűbbé tételéhez mindegyik könyvtárnak tartalmazni kell egy

__init__.py nevű fájlt.

Ahhoz, hogy lehetséges legyen valamennyi almodul betöltése,

ennek a fájlnak tartalmazni kell a package moduljainak listáját az __all__ változóban.



$ cat graphical / __init__ .py

__all__ = [ ’basic ’ , ’advanced ’]



Az operációs rendszer neve:

>>> sys. platform



Minden metódus függvényként van definiálva, melynek első argumentuma (a self) azt az objektumot reprezentálja, melyre a metódus a végrehajtásakor alkalmazva lesz


Modulok telepítése kicsit más:


!pip uninstall igraph            ## Colabnál így uninstallálunk
!pip install python-igraph   ## így telepítünk



Speciális HTML ablakunk van melyet bővítetten használhatunk:



from IPython.display import HTML, SVG
from IPython.core.magic import register_cell_magic

HTML('''
<h2>Hello</h2>
''')




HTML('''
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.6.0/p5.js"></script>
<script>
new p5();

ellipse(50, 50, 80, 80);

</script>
''')




A speciálitás miatt a teknős rajzolás is más:


# !pip3 install ColabTurtle   ## külön installálni kell, hogy legyen HTML vásznunk a rajzoláshoz
from ColabTurtle.Turtle import *
initializeTurtle()
bgcolor('blue')
color('red')

pendown()
forward(150)
right(90)
forward(150)
right(90)
forward(150)
right(90)
forward(150)
penup()

forward(150)
hideturtle()
color('green')
pendown()
forward(150)
right(90)
forward(150)
right(90)
forward(150)
right(90)
forward(150)
penup()

showturtle()





















Ctrl + Shift + P  gyorsító gombok



%%javascript





common libraries including NumPy, Pandas, SciPy and Matplotlib.



%lsmagic  ## varázsos parancsok listája



Available line magics:

%alias %alias_magic %autocall %automagic %autosave %bookmark %cat %cd %clear %colors %config %connect ..

Available cell magics:

%%! %%HTML %%SVG %%bash %%capture %%debug %%file %%html %%javascript %%js %%latex %%perl ..

link: https://ipython.readthedocs.io/en/stable/interactive/magics.html


%matplotlib notebook

%matplotlib inline



%run ./two-histograms.ipynb  ## külső py file lefuttatása



%%writefile pythoncode.py    ## paramcs terület tartalmánek kiírása



%store data  ## másik példánynak változó átadása

és

%store -r data






További lehetőségek









Jupyter notebook megismerésére:

Saját:

Megjegyzések