Pynote

Python、機械学習、画像処理について

Python

Python - データの各サンプル同士の距離行列を作成する方法について

概要 データの各サンプル同士の距離行列を作成する方法について紹介する。 概要 キーワード 距離行列 データを作成する。 距離行列を作成する。 距離行列を可視化する。 距離行列からわかること 入力及び距離関数について 各サンプルから距離が最も近いサン…

画像処理 - face_recognition ライブラリで顔検出を試す。

概要 顔認識が行える face_recognition ライブラリを紹介する。 dlib という機械学習ライブラリをラップする形で構築されており、最先端の顔認識技術を簡単に利用することができる。 Github ドキュメント 概要 インストール 顔検出 基本的な使い方 検出に CN…

スクレイピング - Beautiful Soup の find(), find_all() を使った要素の検索方法 まとめ

概要 Beautiful Soup の DOM ツリーの検索方法について 概要 関連記事 ツリー構造の操作 find_all()、find() 基本的な使い方 指定した名前の要素を取得する。 指定した属性を持つ要素を取得する。 指定した値を持つ要素を取得する。 返り値の要素数の上限を…

Python - JupyterLab でコードの自動整形を行う方法について

概要 JupyterLab にコードの自動整形を行う拡張「jupyterlab_code_formatter」を導入する方法について紹介する。JupyterLab の紹介及び使い方については以下の記事を参照されたい。pynote.hatenablog.com 概要 nodejs をインストールする。 拡張をインストー…

Python - Jupyter Notebook の後継、Jupyter Lab のインストールと使い方

概要 Jupyter Notebook の後継、Jupyter Lab の使ってみたら便利だったので紹介する。 概要 Jupyter Lab とは テーマの公式対応 Visual Studio Code ライクな設定画面 拡張機能の公式対応 タブ機能 分割表示機能 インストール 起動及びブラウザからのアクセ…

Python - グラフの作成などに使える色を自動で作る方法

概要 Python でグラフの作成などに使える色を自動で作る方法を紹介する。 概要 ランダムに色を生成する。 連続的に変化する色を作成する。

Python - Python で2次元箱詰め問題 (bin packing problem) を解いてみる。

概要 2次元箱詰め問題を rectpack を使って解いてみた。 概要 2次元箱詰め問題 (bin packing problem) rectpack

Jupyter Notebook - インラインで画像や matplotlib の図などのメディアを表示させる方法

概要 Jupyter Notebook で画像や SVG などのメディアをインラインで表示する方法について紹介する。 概要 画像 ファイル numpy 配列 PIL Image SVG Pandas データフレーム matplotlib

スクレイピング - Beautiful Soup の DOM ツリーのアクセス方法 まとめ

概要 Beautiful Soup の DOM ツリーのアクセス方法について 概要 一覧表 ツリー構造の操作 親要素を参照する。 先祖要素を参照する。 子要素を参照する。 タグ名で子要素を参照する。 子要素をジェネレーターで参照する。 要素自体も子要素を取得するジェネ…

numpy - 上三角行列、下三角行列、対角行列の作成、対角成分の取得 (diag, tri, triu, tirl, etc)

概要 numpy の指定した行列から上三角行列、下三角行列、対角行列を作成する及び対角成分を取得する関数を整理する。 概要 一覧表 numpy.diag numpy.diagflat numpy.tri numpy.tril numpy.triu 参考

numpy - 規則的な配列を作成する。 (arange, linspace, meshgrid, etc)

概要 規則的な配列を作成する numpy の関数を整理する。 概要 一覧表 numpy.arange numpy.linspace numpy.logspace numpy.geomspace numpy.meshgrid numpy.mgrid 参考

numpy - 既存のリソースから作成する。 (copy, frombuffer, loadtxt, etc)

概要 リストや文字列、ファイルなど既存のリソースから配列を生成する numpy の関数を整理する。 概要 一覧表 numpy.array numpy.copy numpy.frombuffer numpy.fromfile numpy.fromfunction numpy.fromiter numpy.fromstring numpy.loadtxt 例: CSV ファイル…

numpy - 雛形から配列を作成する関数まとめ (empty, zeros, ones, etc)

概要 numpy の雛形から配列を生成する関数を整理する。 概要 一覧表 numpy.empty numpy.empty_like numpy.ones numpy.ones_like numpy.zeros numpy.zeros_like numpy.full numpy.full_like numpy.eye numpy.identity 参考

Jupyter Notebook - おすすめの nbextensions まとめ

概要 入力補完、コードの自動整形など Jupyter Notebook のおすすめの nbextensions を紹介する。 概要 関連記事 テーマやフォントの変更について Notebook のインストール方法について 試した環境 導入 次の2つをインストールする。 有効にする。 設定画面…

環境構築 - pipenv の使い方 まとめ

概要 Python 環境管理ツール pipenv の使い方をまとめた。 インストール方法については以下の記事を参照されたい。pynote.hatenablog.com 概要 試した環境 Python 環境を作成する。 新規に作成する 既存の Pipfile に基づき、作成する。 Python 環境にパッケ…

Python - CSV の読み込み/書き込み まとめ

概要 CSV モジュールの使い方まとめ 概要 サンプルとして使用する CSV CSV を読み込み、リストで取得する。 1行ずつ読み込む。 一括で読み込む。 ヘッダーをスキップする。 リストを CSV に保存する。 1行ずつ書き込む。 一括で書き込む。 CSV を読み込み、O…

Python - itertools チートシート (頻出パターン)

概要 itertools モジュールを使用した頻出パターンを紹介する。 概要 itertools の import 等間隔の値を返すイテレータを作成する。 初項だけ指定する。 初項と公差を指定する。 配列を無限に繰り返すイテレータを作成する。 同じ値を繰り返すイテレータを作…

matplotlib - scatter で散布図を作成する方法について

概要 matplotlib で散布図を作成する方法について紹介する。 概要 基本的な使い方 点の大きさを設定する。 点の色を設定する。 点の種類を設定する。 カラーマップを設定する。 透過度を設定する。 点の枠線の太さを設定する。 点の枠線の色を設定する。

Jupyter Notebook - jupyterthemes で見た目をカスタマイズする。

概要 Jupyter Notebook のテーマやフォントを簡単に変更できるライブラリ jupyterthemes の使い方を紹介する。 概要 インストール方法 テーマ一覧を表示する。 chesterish grade3 gruvboxd gruvboxl monokai oceans16 onedork solarizedd solarizedl テーマ…

OpenCV - cv::Mat と numpy 配列の対応まとめ

概要 OpenCV を C++ で使う場合は画像は cv::Mat として扱うが、 Python で使う場合は numpy array として扱う。 numpy array と cv::Mat ではインタフェースが幾分異なるため、その対応をまとめた。 概要 プロパティ 行数、列数、チャンネル数 カラー画像か…

OpenCV - 行列の加減乗除及び Utility 関数

概要 OpenCV の配列の加減乗除及びその Utility 関数についてまとめた。 C++、Python 両方に対応。 概要 試した環境 加減乗除 加算 関数 コード 減算 関数 コード 要素ごとの乗算 関数 コード 要素ごとの除算 関数 コード 比較 関数 コード Utility 関数 abs…

scikit-learn - データセットを学習データとテストデータに分割する。

概要 データセットを学習データ及びテストデータに分割する scikit-learn の関数 train_test_split() について紹介する。 概要 train_test_split() 引数 返り値 基本的な使い方 分割する割合または数を指定する。 分割する配列を指定する。 サンプルコード …

Keras 実装で学ぶ YOLOv3 - その1 YOLOv3 ネットワークの概要とその実装

概要 YOLOv3 の仕組みについて、Keras 実装の keras-yolo3 をベースに説明する。 概要 ネットワークの構造 YOLOv3 ネットワーク Darknet-53 ネットワーク ネットワークの実装 必要なモジュールを import する。 utils.compose() について 1つの畳み込み層 Da…

Python - 関数の合成

概要 関数のリストを引数にとり、合成関数を作成する関数を作成する。例: 概要 試した環境 関数の合成 Python による実装 functools.reduce() function composition の実装例 iterable の要素を任意の引数をとる関数に対応させる。 参考

環境構築 - Jupyter Notebook の導入方法について

概要 Jupyter Notebook のインストール及び使用方法について 概要 試した環境 手順 jupyter をインストールする。 ワーキングディレクトリを作成する。 起動する。 Tips root ユーザーで起動する。 Docker コンテナ上で実行する。 リモートからアクセスする…

環境構築 - pipenv で Python 環境の構築方法 (2018年11月版)

概要 システム標準の Python 環境は極力手を加えない方針で、プロジェクト単位で Python 及びパッケージのバージョン管理を実現する方法を紹介する。 使用するツールは以下の2つである。 pipenv: Python 及びパッケージのバージョン管理が行える Python 公式…