Pythonを体験してみよう!

スポンサーリンク
Python/DeepLearning
スポンサーリンク

この記事は、こんな人へ向けた記事です

下記のような方へ向けた内容です🌟

  • プログラミング未経験者
  • Pythonって聞いたことあるけど何?
  • Pythonを少し触ってみたかった、興味があった
  • Pythonって何に役立つの?
みやしん
みやしん

初心者の方向けです!

それでは、早速始めていきましょう!

Pythonとは?

Pythonとは簡単に言うと下記のようなプログラミング言語です。

  • 今最も注目を集めているプログラミング言語の1つ
  • 幅広い分野で使える ex 人工知能(機械学習やディープラーニング)、データサイエンス、DXや業務改革、WEBアプリケーション、デスクトップアプリケーション 等
  • ライブラリが豊富 (画像処理、音声認識など様々な機能を数行のコードで実現)
  • 一方、文法が簡単なため、 プログラミング初心者の方でも扱いやすい
  • このブログをはじめ、ネット上に情報が多く落ちているため、初心者でも勉強しやすい
    東京大学 Pythonプログラミング入門

今最も注目を集めているプログラミング言語の1つ

世界で人気のプログラミング言語をランキングで見てみましょう!

「TIOBE Index」というIT系調査会社大手のTIOBE Software社が毎月発行しているもので、主要な検索エンジンを用いて調査し、各プログラミング言語がどのくらい人気なのかを評価しています。

下記は2022年9月現在のランキングです。

※引用元:TIOBE Index https://www.tiobe.com/tiobe-index/

Pythonには、様々な分野の便利なライブラリが豊富

Pythonは幅広い分野で活用できるプログラミング言語です。以下はPythonライブラリのほんの一部ですが、様々な分野のライブラリが揃っています。

Pythonライブラリの一例

Pythonで簡単なプログラミングをしてみよう!

Pythonの実行環境について

Pythonを使うためには、Pythonを動かすことができる環境を作る必要があります。

大きく分けると、主要なものは以下の2つです。

  1. PC上にPythonをインストールする (Pythonホームページ、Anaconda)
  2. クラウドサービス (Google Colaboratory)

今回は簡単にPythonを体験できる「2. クラウドサービス (Google Coraboratory)」を使いたいと思います!

Google Colaboratoryとは?

Google Colaboratory(グーグル・コラボラトリー)とは、下記のようなクラウドサービスです。

  1. Googleが機械学習の教育や研究用に提供
  2. 無料で使えるクラウドサービス (有料版もあり)
  3. Pythonを使える環境が初めから構築されている (自分でインストールしたりしなくて良い)
  4. 使用するにはGoogleアカウントが必要
  5. GPUも使えるので処理が早い (1回12時間まで)
  6. Google Colab(グーグルコラボ)と呼ばれることも多い

それでは早速、Google Colabを使ってPythonを始めましょう!

Google Colabの準備

では、早速使っていきましょう!

まずは、Googleアカウントにログインをして、Google Colabの公式サイトへアクセスします。

Google Colab公式サイト

Google Colaboratory

すると、下記のようなサイトが表示されます。

続いて、「①ファイル」「②ノートブックを新規作成」をクリックします。

すると、下記のように新しいノートブックが表示されます。

画面の左上にあるノートブックの名前も変えておきましょう!好きな名前で良いですが、今回はUntitled0.ipynb →「test_colab.ipynb」に変更します。

作成したファイルは「My Drive」 → 「Colab Notebooks」に保存されています。

My DriveへはGoogle検索画面の右上の9つの点からアクセスできます。

My Driveを表示すると「Colab Notebooks」のフォルダが出来ています。

フォルダを開けると、「test_colab.ipynb」が保存されています。

コードを実行する

コードセル と テキストセル

まずは覚えておく必要がある内容として、「コードセル」と「テキストセル」があります。

コードセル:Pythonコードを記述するセル

テキストセル:メモを記述するセル

「コードセル」や「テキストセル」は下記のボタンで追加できます。

コードセル

「+コードセル」ボタンを押すと、下記のようにコードセルが追加されます。

ここにコードを入れてみます。下記のように入れてみましょう。

print(‘Hello World’)

入力できましたら、左の▶印を押すとコードを実行できます。

たったこれだけです。とても簡単ですね!

初めてPythonを触ってみた方は、初のPython実行おめでとうございます!✨😆

続いて、「+コード」ボタンを追加で押せば、コードセルを増やすことが出来ます。

テキストセル

メモを残してコードを見やすくしたい場合は、テキストセルを使います。

「+テキスト」を押すと、テキストセルを生成します。

テキストセルに文字を入力するとメモを残すことができます。

メモの記入方法はマークダウン記法というルールを使います。

さらに見出しや箇条書きも追加できます。

見出しは「#」を使い、#を増やすにつれて見出しが小さくなります。

箇条書きにしたい場合は、「-」を使います。

また、見出しを作ると、画面左に目次が追加されます。

きれいにまとめられて、コードを見やすくできますね。

サンプルコード

サンプルコードを載せておきます。Google Colab上にコピペして是非実行してみてください。

サンプル① おみくじプログラム

# 乱数機能を使う
import random

# 0~3の乱数を発生 => omikujiに代入
omikuji = random.randint(0, 3)

# omikujiの値(0~3)によって、おみくじの結果を表示
if omikuji == 0:
    print('大吉')
elif omikuji == 1:
    print('中吉')
elif omikuji == 2:
    print('小吉')
elif omikuji == 3:
    print('凶')

実行結果

実行すると「大吉」「中吉」「小吉」「凶」がランダムに表示されます。

サンプル② グラフ表示

# ライブラリのインポート
# numpyは数値計算用のライブラリ
import numpy as np 
# matplotlibはグラフ描画ライブラリ
from matplotlib import pyplot as plt 

# 100前後の数字を50個生成 (100 + 平均=0, 分散=1のランダムな数字を50個)
# 例 [99.40102584 100.29315786 ・・・・・ 100.78550676  99.68458088]
y = 100 + np.random.randn(50) 

# xに50個の数字(0~49)を代入
# [0,
# ・・・,
#  49]
x = [x for x in range(len(y))]

# グラフを作成
plt.plot(x, y, '-')

# グラフ内を塗りつぶす(95以上の部分)、alphaは透過度
plt.fill_between(x, y, 95, facecolor='lightblue', alpha=0.5)

# タイトルを付ける
plt.title('Sample')

# グラフを表示する
plt.show()

実行結果

こんな雰囲気のグラフが表示されると思います。

y軸の値はランダムにしていますので、実行するごとにグラフの形は変わります。

ネット上から犬の画像を収集しよう!

Google Colab内に犬の画像を自動で収集します!

icrawlerライブラリをインストール

# ライブラリをインストール
!pip install icrawler

画像を収集する

# ライブラリをインポート
from icrawler.builtin import GoogleImageCrawler
# 画像を保存するフォルダー名を指定
crawler = GoogleImageCrawler(storage={"root_dir": "dog"})
# 商用利用可のものだけになるようフィルターを掛ける
filters = dict(license='commercial')
# 収集する画像のキーワード、最大収集数を指定
crawler.crawl(keyword="たくさん 犬",max_num=10, filters=filters)

dogフォルダはGoogle Colab内のcontentフォルダ配下に作成されます。

収集した画像をダウンロードしたい時は、dogフォルダをzipで圧縮してからダウンロードします。

!zip -r /content/dog.zip /content/dog 

圧縮できたら下記のようにダウンロード。

収集した画像を使ってオブジェクト検出にチャレンジしてみよう!

インターネットでオブジェクト検出のやり方を検索してみよう!

プログラミングスキルはもちろん大切ですが、今の時代、ググれば大体のものは見つかります。プログラミングも一生懸命覚えるのではなく、ググれば分かるものとして扱うことをおススメしたいです。

そこで、今回は「Google Colabを使ってオブジェクト検出をやってみる!」をテーマに、どうやったら実現できるか、インタネットで検索してみましょう!

例えば「Google Colaboratory」「 yolov5」 「オブジェクト検出」と検索してみましょう。

yolov5とはオブジェクト検出のアルゴリズムの名前です。

2022/10/02の時点では下記のサイトが検索トップに出てきました。

Google ColaboratoryでYOLOv5を使用しオブジェクト検出する
https://laboratory.kazuuu.net/i-used-yolo-v5-with-google-colaboratory/

今回は上記の記事を参考にスクリプトを作っています。

画像収集した続きで以下のコードを入力しましょう!

オブジェクト検出のサンプルコード

YOLOv5というオブジェクト検出アルゴリズムのモデルをダウンロードします。

!git clone https://github.com/ultralytics/yolov5

オブジェクト検出に必要なライブラリをインストールします。

!pip install -r yolov5/requirements.txt

yolov5フォルダーへ移動します

!cd /content/yolov5

yolov5フォルダ内にあるdetect.pyを実行してオブジェクト検出をします。

!python /content/yolov5/detect.py --source /content/dog/000001.jpg --weights yolov5s.pt --conf 0.25
!python <detect.pyへのパス> --source <画像/動画/Youtubeビデオへのパス> --weights <ウェイト(重み)へのパス> --conf <最小信頼値>

オブジェクト検出した画像の保存場所

※000001.jpgが以下と同じ画像とは限りません。


オブジェクト検出結果

※000001.jpgが以下と同じ画像とは限りません。

検出前

検出後

画像のダウンロード

上手くできましたか?Pythonって楽しいですね🤗✨

Python/DeepLearning
スポンサーリンク
記事が良かったらSNSでシェアを宜しくお願いします!
みやしんをフォローすると役立つ情報がいっぱいにゃ!
スポンサーリンク
みやしんのプログラミングスキル通信

コメント

タイトルとURLをコピーしました