Python関連のことを調べてみた2022年11月12日

Python関連のことを調べてみた2022年11月12日

[Python]初心者が機械学習で作成した犬種判別アプリつくってみた

# 目次
[1.はじめに](##-1.はじめに)
[2.目的](##-2.目的)
[3.実行環境](##-3.実行環境)
[4.実施内容](##-4.実施内容)
[5.アプリケーション](##-5.アプリケーション)

## 1.はじめに

これまでプログラミングをしっかり学んだことがない私が、どこまでできるものかと思いチャレンジしてみました。

## 2.目的

学習過程でMNISTというデータセットを利用して10種類の数値を画像認識をするコードがあったので、
以下のことを実施してみたいと思いアプリ作成実施

– 既に用意されたデータではなく、自身で収集したデータでのアプリ制作
– 識別種類をもっと増やした場合のアプリ制作

## 3.実行環境
– Python 3.9.12
– Windows10
– Google Colaboratory
– Visual Studio Code (1.72.2)

## 4.実施内容

###  4-1.元データの収集
####   4-1-1.各犬種の写真収集

– 当初の目論見では、必要なデータ数の目途もたたない状態だったため、必要

元記事を表示

【AzureMachineLearning】機械学習の推論処理をバッチエンドポイントを使って並列実行する

AzureMachineLearningのバッチエンドポイントを使うことで、機械学習の推論処理の並列化を簡単に実装できます。

本記事では実装方法を解説します。
とはいっても、ほとんどMicrosoftの公式ドキュメントを参考にしています。
– [バッチ エンドポイントとは](https://learn.microsoft.com/ja-jp/azure/machine-learning/concept-endpoints#what-are-batch-endpoints)
– [バッチ エンドポイントを使用したバッチ スコアリング](https://learn.microsoft.com/ja-JP/azure/machine-learning/batch-inference/how-to-use-batch-endpoint?tabs=cli)

個人的に詰まった点などを補足しています。

# 前提
下記準備は整っていることを前提とします。

– Azureのサブスクリプション
– AzureCLIとml拡張がインストールされている
– 参考:https://learn.m

元記事を表示

TypeError: ‘Response’ object is not subscriptable

“`python
TypeError: ‘Response’ object is not subscriptable
“`

`GET`で取得したAPIをJSONにパースしていないと出るエラーで

下記のように記述することでエラーが消えた

“`python
response = requests.get(“https://*****”)
response = response.json()
“`

元記事を表示

SyntaxError: Non-ASCII character ‘\xe6’ in file

“`python
SyntaxError: Non-ASCII character ‘\xe6’ in file sample_001.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
“`

文字エンコードの定義をせずに、日本語を使った場合に出るエラー

日本語を扱うには、一番最初に文字エンコードの定義が必要

“`py
# coding:utf-8
print(“こんにちは”)
“`

元記事を表示

【python】list初期化の罠

## 始めに
リスト型または辞書型のリストを作るとき、事前に要素数を決めて初期化する場合があります。
例えば、“辞書型の要素6個のリスト“を作りたいときに、主に以下のやり方がありますが、場合によっては罠にはまります。
### 書き方1
“`ruby:書き方1
list1 = []
for i in range(6):
list1.append({“age”:1})
print(list1)
“`

### 書き方2
“`ruby:書き方2
list2 = [{“age”:1}]*20
print(list2)
“`

上記書き方の出力は同じになります。
“`ruby:実行結果
[{‘age’: 1}, {‘age’: 1}, {‘age’: 1}, {‘age’: 1}, {‘age’: 1}, {‘age’: 1}]
“`
ただし、書き方2はバグの引き金になってしまう可能性があります。
下記を実行してみてください。
“`ruby:listの1要素を変更
list2[0][“age”] = 9
print(list2)
“`
結果は想定と違って、以下とな

元記事を表示

OpenCV で 16bit/pixel グレイスケール画像を 8bit/pixel にする

OpenCVでの16bit画像、しかも値に偏りのある場合の、8bitノーマライズの仕方メモ
C++, Python でそれぞれについて
ここでは、1CH(グレースケール)の話

各画素の値分布がこんな感じのとき、普通にやると真っ暗な画像になってしまう。
また定数でやらないとノイズで動画がチラつく。

![2022-11-11_22h46_36.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488658/4de13897-6704-3655-ea3f-c2019f0ab348.jpeg)

その16bit画像が「0x0000が真っ黒/0xFFFFが真っ白」というわけではなく、こんなときにやるノーマライズ

* 実際は12bitまでしか使っていない
* 最低値が0じゃない
* N以下/M以上はノイズ

## その画像のシェイプを確かめる

### C++ シェイプ確認

“`cpp
// 型: cv::Mat
cout << frame.rows << ", " << frame.cols << ",

元記事を表示

なんとなく1dライフゲーム

ライフゲームというのを作ったことがないので作ろうと思ったら、なんとなくかったるかったから、「1dならかったるさが少ない」と思って書いた。(これをライフゲームと言うのかすら不明)

#### ルール
– 状態数は30
– それぞれのセルは初期状態15を持つ。
– ユニバーサル確率Pがある。
– Pは時間を追うごとに標準偏差が増加する。
– Pの中心は、そのセルがこれまでにとってきた状態の平均をまず出し、window sizeの範囲の周囲のセルの平均を取る。

#### コード
“`python
import numpy as np
from PIL import Image, ImageDraw
from tqdm import tqdm

images = []

width = 500
height = 10
init = 0.001
k = 30
step = 1000
ws = 2

length = width//height
colors = [x*(255//k)for x in range(k)]
prevs = [[k//2 for _ in range(length

元記事を表示

『サイバーセキュリティプログラミング第2版』の読書メモ (3)

ひきつづき『サイバーセキュリティプログラミング第2版』の読書メモです。

https://www.oreilly.co.jp/books/9784873119731/

# 3.4 ICMP のパース より

P63 Scanner クラスの sniff メソッドを抜粋。

“`python
def sniff(self):
hosts_up = set([f'{str(self.host)} *’])
try:
while True:
# パケットの読み込み
raw_buffer = self.socket.recvfrom(65535)[0]
# バッファーの最初の20バイトからIP構造体を作成
ip_header = IP(raw_buffer[0:20])
# ICMPであればそれを処理
if ip_header.proto

元記事を表示

意外と出てこない「年月」関係の0paddingについて(2022年3月->202203)

最近YYYY年mm月というデータを「YYYYmm」に持ち直す際に、
1~9月だとそのまま結合すると
2022年1月-> 20221
となり、202201のようなものがいいんだよな〜っていうことがあると思います。

そこで、0 paddingというものを知りました。

知る前はゴリ押しでif文とかで作ってたんですが、先輩のレビュー時にアドバイスというか教えていただき、1行であたかも簡単にできることを知りました。
(今考えれば、だれでもこういうデータの変換をするので、そういう関数くらいあるよね、とは思うんですが、そのときは「変換せねば!」という思いでいっぱいでした。)

# 組み込み関数formatで一撃
結論はこれでした。

“`
import re

wareki_regex = “(\d*)年(\d*)月”

year_month = “2022年3月”

m = re.match(wareki_regex, year_month)

year, month = m.group(1), int(m.group(2))

print(f”year={year}, month={mon

元記事を表示

Pythonで標準入力された場合の処理

競プロに手を出したばかりで標準入力の処理を最近知ったので、一番基本的なやつの備忘録です。
# 一つのものだけ標準入力された場合

“`
#文字列が与えられた場合
a = input()

#数字が与えられた場合
b = int(input())
“`

# 横並びで入力が与えられた場合

“`
list = input().split()
“`

※入力が縦一列の場合は「一つのものだけ標準入力された場合」を行数分繰り返せば良い。

後はこれの応用で、できそうな気がしました。
もう少し詳しくなったら加筆します。

元記事を表示

外れ値一つで相関係数を0.0にする

外れ値を一つ加えることによって相関係数を0.0にするPythonスクリプトを作りました。

* 図1:強い相関があるデータ(相関係数:0.864)

![0.864.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/571330/f78ce7ec-b986-7112-1d6b-dcc1e247457d.png)

* 図2:図1に1点の外れ値を加えた影響で相関係数が0.0になってしまったデータ

![0.000.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/571330/c1233b55-b856-c66d-5138-6ccf1e12e5d3.png)

# Pythonスクリプト

まず、図1を作るところです。

“`python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import multivariate_norm

元記事を表示

pythonでテトリスの大会をやってみた!(継続していく予定)

## 目次
– 自己紹介
– pythonテトリス大会とは :thinking:
– pythonテトリス大会の様子 :smiley:
– 機械学習を用いた事例
– まとめ
– 今後の課題

## 自己紹介
・ハンドルネーム: @seigot
・関西在住
・ソフト開発
 ・プログラミング言語:C言語, python, シェルスクリプト
 ・資格:エンベデッドシステムスペシャリスト、情報処理安全確保支援士試験合格、
     TOEIC830点
・技術チャレンジ部(2019年〜現在)
 ・pythonテトリス大会を開催してみた(2022.9)
 ・[参考:Qiita記事 テトリスを題材にpythonを学べるツールを作成してみた話](https://qiita.com/seigot/items/0b42a807217dbe636226)
 ・[参考:Qiita記事 テトリスを題材にpythonを学べるツールを作成してみた話2](https://qiita.com/seigot/items/0b42a807217dbe636226)


## pythonテトリス大会とは

元記事を表示

TensorFlow Lite 実行環境を作る win/linux

実行するだけなら本来ランタイムだけでいいのですが、[windowsではTensorFlowLiteのruntimeはサポートされていない](https://www.tensorflow.org/lite/guide/python?hl=ja)ので、tenosrflowパッケージを丸々インストールします。

従って、同じ実行コードを使うなら、linux/winでimport文が変わります。
こんな風に書けばよしです。

“`python
try:
# linux
import tflite_runtime.interpreter as tflite
except ImportError:
# win
from tensorflow import lite as tflite
“`

バージョンによって問題が置きがち(特にnumpy, 組み込み向けのとき, 開発と実行環境が別のとき)なのでバージョン指定します。
`tensorflow`と`tflite-runtime`は同じバージョンNo.でよしです。

最終的には[Requirements File]

元記事を表示

下書き

# 自己紹介
初めての投稿になるので軽い自己紹介から入ろうと思います。
現在、某国立大学の情報科学類に通っている大学4年生です。
今年の夏ごろから初めてのベンチャー企業の長期インターンに行き始めました。
そこで今回は大学4年間でいろいろなITに関する勉強をした中で、これは実務に入るまでにやっておいてよかったと実際に思ったものを3つピックアップして紹介したいと思います。
今回はプログラミング

# 【1】 github
### githubとは何か
 githubは、世界中の人がプログラムコードやデザインデータを保存・公開できるソースコード管理サービスの
ことです。今まで自分で作ったプログラミングのコードをgithubに保存することで、就職活動の時
に過去の実績として見せることもできる。また、企業などで複数人でアプリ開発などを行うときには
いくつものコードを同時進行で進めるため、どれが変更したものなのかが分かりづらくなってしまい
ます。これもgithubを使うことで解決できるためコード管理にはほとんどの企業がgithubを使って
 います。だから実務に入るときにはgithubの知識という

元記事を表示

SPSS Modelerの平均値ノードをpythonに書き換える

SPSS Modelerの平均値ノードをPythonのscipyとstatsmodelsで書き換えてみます。

以下の記事でModelerでの使い方は解説していますので、この内容をscipyとstatsmodelsで行ってみます。

SPSS Modeler ノードリファレンス 6-9 平均値 – Qiita

https://qiita.com/416nishimaki/items/f5b957a24430b9a3aa9e

# 1m.2つのフィールドの平均を比較 Modeler

同じ顧客の施策前と施策後の平均を比較します。これは対応ある2標本のt検定になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/ebbd6fc4-1d7a-7252-f60e-57933cf18559.png)

平均値ノードの「フィールドのペア間で比較」を選び「実施後」と「実施前」の列のペアを追加します。

![image.png](https://qiita-image-st

元記事を表示

PyAutoGUIとNuitkaでマクロを実行するアプリをつくる

## はじめに
タイトルの通り,Pythonを使って簡単なアプリを作ります。
今回のモチベーションはこれ。
![ad.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2348972/9a9ed99e-770d-1c37-0b18-133322ebdffa.png)
Wordで数式を書く際にMathtypeのLite版を使用しているのですが,先日から数式を編集するたびに毎回このメッセージが出てくるようになりました。無料で使っている以上文句は言えないですが,とはいえ鬱陶しいので,このメッセージが出たら自動で閉じる(ボタンを押してくれる)アプリを作りました。

## PyAutoGUIについて
[PyAutoGUI](https://pyautogui.readthedocs.io/en/latest/index.html)について簡単に説明すると,Pythonプログラムからマウスやキーボードを操作するためのライブラリです。マクロ作成用ライブラリと言ってもよいかもしれません。

【参考】
[【PyAutoGUI

元記事を表示

【超初級】GitからファイルをGithubに上げれるようにするまで

# レクチャー動画を見てもちんぷんかんぷん級にGitが全然使えなかったため1から勉強しました!
主な学習法は上司に聞く。(これ1番効果あり!!)
GitHubにアップすることができるようになるよ!

# 目次
1.[Githubでリポジトリ作成](#1-Githubでリポジトリ作成)
2.[クローンの作成](#2-クローンの作成)
3.[ファイルをクローンに追加する前作業](#3-ファイルをクローンに追加する前作業)
4.[クローンにファイルを追加していく!!](#4-クローンにファイルを追加していく!!)
5.[追加したファイルをローカル→Gitにあげていく!!く](#5-追加したファイルをローカル→Gitにあげていく!!)
6.[とうとうcommitの出番!](#6-とうとうcommitの出番!)
7.[伝説のプルリクの出現](#7-伝説のプルリクの出現)

# 1.Githubでリポジトリ作成
(なんとかがんばってくれ。。。すみません後で追記します)
# 2.クローンの作成
Git Bash(Win)/ターミナルを起動してコマンドを叩いていくよ~!
## クローンを作成する
`

元記事を表示

Herokuから個人のwindowsにpythonを移動しました

## Herokuの無料プラン

Herokuのいい所は無理プランですが2022年11月28日よりこのプランがなくなります。それで色々のサービスをやってみました

## Herokuを使ってたについて

[別の記事で説明](https://qiita.com/Oukaria/items/35977bd5997503d43911)してました、基本はボットを作ってました、reddit.comのコメントをstreamで見て、特別の文字で反応して、情報を固めてでこのコメントに返事するボットでした、いわえるscrappingに近い形です。Herokuだと別に問題なかったで24時間に動いても大丈夫ですし、無料だったので結構よかったでしたが。。無料プランが無くなると困ります。

## 他のホスティングについて

Herokuがもうダメなので他のホスティングサイトを探してました

### deta.sh

オススメされたがdeta.shでした、herokuとにてまして無料プランがありますとデプロイすると自分のエンドポイントもあります。やり方がちょっと違ってましてて、Herokuはgitを連携してデプロ

元記事を表示

pandas.Seriesで、値の型が揃っていないときの動き

# 環境
* pandas v1.5.1
* Python v3.10.2

# 概要
`pandas.Sereis`で、値の型が揃っていないときの動きにハマりました。
後学のため、値の型が揃っていないときの動きをまとめます。

# 値の型が揃っていないときの挙動
## `dtype`が`string`の`pandas.Series`に、文字列以外を代入
`dtype`が`string`の`pandas.Series`に対して数値またはbool値を代入しようとすると、`ValueError`が発生します。

“`
In [167]: s1 = pandas.Series([“a”, “b”], dtype=”string”)

In [168]: s1
Out[168]:
0 a
1 b
dtype: string

In [169]: s1[0] = 1
—————————————————————————
ValueError: Cannot set non-strin

元記事を表示

Mayaでのアニメーションでよく使うツール 1/n

# はじめに
普段アニメーションで使っている機能・スクリプトを公開できる範囲で公開していこうと思います。

※スクリプト関係を使用して生じたトラブルや損害に関しましては作者は一切責任は負えませんので、悪しからず。
※公開しているコード関係について、独学で学んでいますので、書き方に統一感がなかったり、変数名・英語関係がめちゃくちゃだったりしますが、よろしくお願いいたします。

# 今回の機能・スクリプト
Maya標準に搭載されているキーの移動の減衰についてです。
結構便利なツールですが、搭載されたのがMaya2018くらいの頃なので意外と知らない方も多いのではないでしょうか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961539/68926f72-5f43-5344-fd49-ed89ab7fdd0f.png)

# 機能の説明

・移動の減衰 : 一定
こちらは普段から使っていると思うのですが、選択したキーを減衰などなくドラッグした分だけ移動させることができます。
![image

元記事を表示

OTHERカテゴリの最新記事