Python

プログラミング言語Pythonに関する記事です。

Python

Pythonが遅い理由・C言語が速い理由をシステムコール呼び出し回数から考察する

巷によく聞く、Pythonって遅いよね~~Cは速いよ!という会話。「Pythonはインタプリンタ言語で、C言語はコンパイラ言語だから」がよくある説明なのだが、こんな適当な説明だと、だからどうして?と思うだろう。もうちょっと丁寧に言うと、Python(インタプリタ言語)は一行一行機械語に翻訳して実行するから遅い、C言語(コンパイル言語)は一度にすべて機械語に翻訳するから速い、が理由になる※他にも動的型付け言語であるとかいろいろ理由はありますが話を簡略化してます。ここで、あーなるほどね!となればいいのだが好奇心旺盛な諸君に実際にどういう処理の中身になっているか説明することにしよう。文章で説明するより実機で動かして、自分で確認したほうがわかりやすいと思うのでまずはLinuxの開発環境を整えよう。・Windows10・Virtual Box 6.1・Ubuntu 20.04 Linuxの環境であればいいのだが、WindowsにVirtual BoxでUbuntuを入れている。Cygwinとかだと違うlog出力結果になるのでおすすめしない。
Python

統計の授業で天文学の先生からPythonを教わった話

大学のとき、統計の授業を受けました。必修ではなかったので5人しか受講者がいませんでしたが今思うとかなりプログラミング経験を積めた授業でした。先生は天文学の専攻で、アンドロメダ星雲とかそういうのを研究してます。授業の題材としても天文関係が多かったです。オリオン座をグラフ描写ツールで描いたり、太陽の爆発頻度をポアソン分布で表したり。先生は宇宙の研究でPythonを使ってるみたいで、授業の最初のほうは基本的なPythonの使い方から統計で必要なライブラリ(numpy、scipy、matplotlib)の使い方を学びました。
Python

画像データから顔だけ切り取る方法 python【OpenCV】

ディープラーニングで画像データを使うとき、顔だけ抽出したいときがあります。例えば、カメラをリアルタイム認識させ、特定の人が映ったらアラームが出るシステムなど。学習データとして顔の部分だけを使いたいのでOpenCVで顔認識させ、切り取ったデータを保存します。
Python

ディープラーニングの画像を水増しする python 【ImageDataGeneratorの使い方】

ディープラーニングで画像認識するとき、大量の学習データが必要になります。画像データが多く手に入らないとき、手元のデータを回転させたり上下左右に動かしたりした画像を使うことでデータが少ない中で認識精度を上げることができます。
Python

Pythonでファイル名を一括変換する方法

TensorFlowなどでディープラーニングの勉強をしていると元データのファイル名を"dog1.jpg"、"dog2.jpg"・・・のように揃えたいときがあります。今回はフォルダ内に保存されたファイルの名前を一括で変更する方法を紹介します。
Python

Pythonで画像をリサイズしてJPGに一括変換

ディープラーニングの勉強をしていると、画像を扱いやすい形に編集したいときがあります。今回はPythonのライブラリで画像データを編集する方法を紹介します。 画像サイズを任意の値に変更し、拡張子を揃える方法です。以下のようなconvert.pyファイルを作成します。
Python

Web上の好きな画像データを自動取得する python【icrawlerの使い方】

ディープラーニングの勉強をするとき、MNISTやCIFAR10などの元からある画像データではなく、自分でweb上から集めたいときがあります。10枚程度であればGoogle画像で検索して手作業で保存しても問題ないですが、ディープラーニングに使うような1000枚とかの画像を集めるのは現実的でないため自動取得させましょう。
Python

Webカメラで手話をリアルタイム認識させる – ディープラーニング【keras実装】

手話数字をWebカメラでリアルタイムで認識させるPythonプログラムです。ディープラーニングライブラリであるKerasを使いました。中身はTensorFlowで処理されます。まずは手話数字の画像データをGitからダウンロードしてください。1~9の手話数字を集めたデータセットです。
Python

PyTorchでCIFAR10を画像分類する【VGG】ソースコード付き

PyTorchでカラー画像のデータセット(CIFAR10)を分類するソースコードです。CIFAR10は学習データ5万枚、テストデータ1万枚の合計6万枚の色画像で構成されています。クラスは10クラスあります。モデルは畳み込み層6層、全結合層3層からなるVGG9を使用しました。まずはmain関数があるmain.pyファイルを作成します。最初はCIFAR10データをダウンロードするためdownload=Trueとしましたが、2回目からはdownload=Falseとしてください。
Python

PyTorchで手書き数字MNISTを画像分類する【LeNet5】ソースコード付き

PyTorchで手書き数字(MNIST)を画像分類するソースコードです。MNISTは学習データ5万枚、テストデータ1万枚の合計6万枚の手書き数字で構成されています。モデルはLeNetを少しいじったものを使用しました。まずはmain関数があるmain.pyファイルを作成します。最初はMNISTデータをダウンロードするためdownload=Trueとしましたが、2回目からはdownload=Falseとしてください。
タイトルとURLをコピーしました