1コイン Python体験講座 限定テキスト

自己紹介

講座受講者のみの特別テキストです

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

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

初心者の方向けです!

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

Pythonとは?

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

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

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

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

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

下記は2024年2月のランキングです。

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の準備

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

参考) 本日使うサンプルコードです
https://colab.research.google.com/drive/1ZdZA9wOgH7JsW9IwrK8jxWV8juKHSui3?usp=sharing

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

Google Colab公式サイト

Welcome To Colaboratory
Run, share, and edit Python notebooks

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

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

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

画面の左上にあるノートブックの名前も変えておきましょう!好きな名前で良いですが、今回は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('凶')

①乱数を簡単に作りたい時は、randomライブラリを使えるようにする(インポート)
 import random

 ※randomライブラリはPythonの標準ライブラリ(元々使える機能)

②乱数の生成
 random.randint(a, b)
 a ~ bの数字で乱数を生成

実行結果

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

(参考) サンプル② グラフ表示

# ライブラリのインポート
# 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」

(参考) icrawlerライブラリの紹介ページ[PyPI]

icrawler
A multi-thread crawler framework with many builtin image crawlers provided.

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

# 外部ライブラリをインストール (randomと違ってPythonに標準装備ではない)
!pip install icrawler

①ライブラリには2種類存在
 標準ライブラリ:元々Pythonに入っていてすぐに使えるライブラリ
 外部ライブラリ:外部から取得(インストール)しないと使えないライブラリ

②外部ライブラリをインストールするにはpipコマンド
 最初に「!」を付けて、「pip install ライブラリ名」
 例) !pip install torch

画像を収集する

# iclawlerライブラリの中にあるbuiltinパッケージ、
# さらにその中のGoogleImageCrawlerモジュールをインポート
from icrawler.builtin import GoogleImageCrawler

# 画像を保存するフォルダー名を指定。今回は"test"フォルダーを作って、そこに画像を収集
crawler = GoogleImageCrawler(storage={"root_dir": "test"})

# 商用利用可のものだけになるようフィルターを掛ける
filters = dict(license='commercial')

# 収集する画像のキーワード、最大収集数を指定
crawler.crawl(keyword="ニューヨーク 交差点",max_num=10, filters=filters)

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

(参考) 収集した画像をダウンロードしたい時

zipに圧縮してからダウンロードします。
以下はdogという名前を付けたフォルダを圧縮する例。dog部分を圧縮したいフォルダ名に変えて実行する

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

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

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

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

YOLOv5という物体検出アルゴリズム一式をダウンロードします。
学習済みモデルとコードを使って物体検出をします。


※ダウンロード元
https://github.com/ultralytics/yolov5

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

物体検出に必要なライブラリをインストールします。
※requirements.txtに必要なライブラリがたくさん記述されており、その記述通りに自動でライブラリをインストールする。(何十ものライブラリを1つずつインストールするのは大変なので)
 例) matplotlib>=3.2.2
   numpy>=1.18.5
   opencv-python>=4.1.1
   ・・・・(たくさん)

!pip install -r yolov5/requirements.txt

yolov5フォルダーへ移動します
※cd は「Change Directory」(ディレクトリ=フォルダの意味)

%cd /content/yolov5

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

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

物体検出した画像の保存場所

content → yolov5 → runs → detect → exp の中に物体検出した結果を保存。

※000001.jpgは違う画像の場合もあります。

物体検出結果

検出前

検出後

★最後にお得なお知らせ★ Pyサブスクール特別割引/初月500円

Pythonリスキリングコース (サブスクプラン) 初月8,030円→500円

Pythonをもっと学びたい方へ、現役エンジニアであり、Twitterインフルエンサーでもあるみやさかが直接教えるPythonオンラインスクールを初月特別価格でご提供いたします。

Pythonリスキリングコース (サブスク)

※2か月目以降は、通常の8,030円に戻ります
※Moshでの支払い登録時にクーポンコードが必要です。入力忘れや間違いは割引が効きませんのでご了承ください(返金不可)
※クーポンコードは、1coin です! 
Pythonリスキリングコース (サブスク)以外は500円になりません

★お申込みはこちらから★ (皆様のメールにもご案内をお送りしました)
https://mosh.jp/services/108306

※申し込みは明日朝に締め切ります。
※継続は毎月自動更新です。ご解約はMoshにていつでも可能ですのでご安心ください。(解約すると受講はできなくなります)

ご不明な点がございましたら、みやさかまでお気軽にお問い合わせください。
また、他のコースも含め、ホームページもご確認頂けます。
https://pysubschool.net/

2か月目以降は下記の受講料

slackを使って質疑応答🌟

ZoomやSlackのハドルを使って画面共有をしながらのサポートも実施しています👍

本日の講義のような動画を配信 (YouTube)

「Pythonの基礎的なスキル」から「仕事で使える実践的なスキル」まで習得できます。

下記よりお申込み頂けます🤗

★お申込みはこちらから★
https://mosh.jp/services/108306

※申し込みは明日朝に締め切ります。

Pythonリスキリングコース(一括プラン)

また、よりリーズナブルに学べる「一括プラン」も新設しました

Pyサブスクール:サブスク8,030円/月でPythonを始められるプログラミングスクール
サブスク8,030円/月でPythonを始められるプログラミングスクール。現役エンジニアへの質問も自由に出来ます。話題のPythonを学びたいけどスクールに60万円は高すぎる!でも独学だと挫折が恐い。そんな不満と不安を解決するサブスク型のプ...

ご不明な点がございましたら、みやさかまでお気軽にお問い合わせください

希望者全員プレゼント企画 (2か月以上続けて下さった方)

みやさかも掲載されている「堀江貴文のChatGPT大全」(税込1650円)を希望者全員に無料でプレゼント!!

(参考) 検出する物体を指定したい

Yolov5で検出しているのは、以下80種類

0: person
1: bicycle
2: car
3: motorcycle
4: airplane
5: bus
6: train
7: truck
8: boat
9: traffic light
10: fire hydrant
11: stop sign
12: parking meter
13: bench
14: bird
15: cat
16: dog
17: horse
18: sheep
19: cow
20: elephant
21: bear
22: zebra
23: giraffe
24: backpack
25: umbrella
26: handbag
27: tie
28: suitcase
29: frisbee
30: skis
31: snowboard
32: sports ball
33: kite
34: baseball bat
35: baseball glove
36: skateboard
37: surfboard
38: tennis racket
39: bottle
40: wine glass
41: cup
42: fork
43: knife
44: spoon
45: bowl
46: banana
47: apple
48: sandwich
49: orange
50: broccoli
51: carrot
52: hot dog
53: pizza
54: donut
55: cake
56: chair
57: couch
58: potted plant
59: bed
60: dining table
61: toilet
62: tv
63: laptop
64: mouse
65: remote
66: keyboard
67: cell phone
68: microwave
69: oven
70: toaster
71: sink
72: refrigerator
73: book
74: clock
75: vase
76: scissors
77: teddy bear
78: hair drier
79: toothbrush

コマンド実行時に「–class 番号」で検出する物体の種類を指定。

例) 車のみを検出したい時(2: car)

!python /content/yolov5/detect.py --source /content/test/000001.jpg --class 2 --weights yolov5s.pt --conf 0.25

実行結果

(参考) 画像のダウンロード

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

受講後アンケートのお願い

1コインPython体験講座にお申込みくださりありがとうございました。

本講座をより良くしていくために簡単なアンケートにご協力頂けましたら幸いです。

回答時間:3分程度

1コイン Python体験講座 ご受講後アンケート
ご貴重なお時間を本講座に頂きましてありがとうございました。 1コインPython体験講座をご受講頂きましたお客様へ簡単なアンケートのお願いです。 大変お忙しい中、お手数をお掛け致しますが何卒宜しくお願い申し上げます。

記事が良かったらSNSでシェアを宜しくお願いします!
みやしんをフォローすると役立つ情報がいっぱいにゃ!
みやしんのプログラミングスキル通信
タイトルとURLをコピーしました