目次
カンタンにプログラミング
ブログをきっかけにプログラミングに興味をもちはじめました。
プログラミング言語
プログラミング言語は200以上もあると言われています。Webアプリケーション開発に適しているPHPやRuby、最近、特に人気が高まっているのがPython(パイソン)です。Webアプリケーション、AI学習、データ処理や統計などオールマイティーな言語です。
その他、Webブラウザ上でのユーザーの動きに関わることが多いJava Script(ジャバ スクリプト)やAndroid向け開発によく使われているJava(ジャバ)やKotolin(コトリン)、iOS開発向けのSwift(スイフト)、マイクロソフト社が開発したWindowsアプリケーション向けC#(シーシャープ)、プログラミング言語の基本ですが初心者にはハードルが高いC(シー)やC++(シープラスプラス)などなどです。
サンプルコードやドキュメント、生産性を高められる雛形となりフレームワークが充実しており、初心者向けと言われているPython(パイソン)を学ぶことにしました。
特に機械学習やディープラーニング、データサイエンス、データを収集した上で利用しやすく加工するスクレイピングなどのライブラリが特に充実しているという点に興味をそそられたからです。
Google Colaboratory
習うより、慣れろとよく言われている通り、すぐにPython(パイソン)プログラミングをはじめれられるGoogle Colaboratory(読み方はグーグル コラボラトリー、略称はColabで、グーグル コラボとも呼ばれています)というクラウドツールを使ってみました。
環境構築が不要でアクセスするだけで無料でプログラミングをすぐにはじめれられてビックリしました。
無料でGPUが利用できるので処理が高速
コンピュータにはCPU(Central Proccessing Unit)とGPU(Graphics Proccessing Unit)の2つの演算処理装置があります。両者は異なる役割を担っていますが、とりわけ、ディープラーニングの発展に大きく貢献しているのはGPUの方です。
GPUのほうがCPUより「優れている」というわけではないです。GPUはCPUのように様々なタスクをこなすことができないです。決められた処理を行うからこそ、大規模かつ高速に演算することができるのが特徴です。
Google ColaboratoryはクラウドツールなのでGPUを無料で利用することができます。パソコンはChromeやSafariなどのブラウザが動作すればOKで、GoogleのサーバーがGPUを使って高速で処理をしてくれるのです。
カンタン
Google ColaboratoryはGoogleドライブでスプレッドシートやスライドを利用するのと同じ感覚で簡単に利用できるのでスマホでの利用や友達や家族とプログラムの共有も可能です。
便利
画面の左側の<>アイコン部分のコードスニペットにはサンプルコードが入っていて、挿入ボタンで簡単に挿入することができて便利です。
ツールメニューのコマンドパレットでは、どういう操作をしたいのかが並んでいて、選択するだけで実行することができます。
ファイルの読み込み
Google Colaboratoryでファイルを読み込む方法です。画像ファイルや音声ファイル等を読み込んでディープラーニングさせるプログラム等ではパソコンのローカルにあるファイルを直接読み込むことが出来ません。Google Driveにファイルをアップロードして利用することになります。
- Google Colaboratoryで、Google Driveをマウント
- Google Driveに、対象のファイルをアップロード
- Google Colaboratoryで、対象のファイルを読み込んで利用
スプレッドシートの読み書き
学習用にGoogle ColaboratoryでPythonでスプレッドシートを読み書きするプログラミングをしたときのメモです。
gspreadというモジュールを活用します。
gspreadのインストールコマンドです。
!pip install gspread
gspreadを使用することでGoogleDriveのディレクトリをマウントする作業を割愛できます。
スプレッドシートの認証をした後にスプレットシートクライアントを取得します。
from google.colab import auth
from oauth2client.client import GoogleCredentials
import gspread
# アクセス認証
auth.authenticate_user()
# スプシクライアントの取得
gc = gspread.authorize(GoogleCredentials.get_application_default())