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

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

深層学習における基本ニューラルネットワークの構築(メモ)

## TensorFlow2 (tf.keras)でニューラルネットワークを構築

“`python
# ① import
import tensorflow as tf
from tensorflow.keras.layers import Dense, Dropout, Flatten
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.datasets import mnist
import os
from matplotlib import pyplot as plt

batch_size = 128
epochs = 30

# ②データの取得
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# データの前処理
x_train, x_test = x_train / 255.0, x_test /

元記事を表示

Visual Studio CodeでサクッとPythonの環境を構築する

いつもと違うマシンや開発メンバーの間で環境差を少なくしたいからDocker使って開発環境を整えるのが自分の中でトレンドなので自分メモ。内容の精査はしてないです。

## 必須

利用してるのはWindows11。macOSでも一緒。Linuxはデスクトップで使ってないから不明だけど多分一緒。

– Visal Studio Code
– Remote Containers
– Docker for Desktop

## Get Started

### 設定ファイル作成

任意のフォルダからVisual Studio Codeを起動し`Ctrl+Shift+p`でコマンドパレットを呼び出す。
そこから`Add Development Container Configuration Files…`を選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2396/2f9b16b8-474f-399d-38b6-8c103facef86.png)

一覧の中からPython

元記事を表示

CoreMLToolsで”PyTorch convert function for op ‘_record_function_enter’ not implemented.”が出た時の解決法

# エラーが出て変換ができない(泣く)

CoreMLToolsでPytorchモデルをコンバートしていると、
表題のエラーに遭遇することがある。
必要なオペレーションがCoreMLToolsに用意されていないせいで、このモデルはコンバートできないんだ。。。

# 解決できる
そんなふうに思いきや、実は簡単に解決できる。
表題のエラーが出たモデルは、

torch.nn.DataParallel(module, device_ids=None, output_device=None, dim=0)

でラップされているのではないだろうか?
(もし違ったらこの解決方法は使えません、ごめんなさい)

これは、CPU、GPUでマルチプロセスできるようにするモジュールらしく、CoreMLへの変換時には必要がない。

なので、ラップしない元のモデルを変換すれば、表題のエラーは出なくなる。

“`python
model = nn.DataParallel(my_model, [0])
model = model.module # Access to my_model.
model.eval()

元記事を表示

ifcOpenShell python のインストール方法

最近騒がれている BIM/CIM ですが、共通フォーマットの **.ifc** ファイルを扱わなければいけません
今回は python から ifc ファイルを扱うためのモジュール **ifcOpenShell** を 自分の環境にインストールする方法をメモしておきます

# ifcOpenShell python のインストール

## Step1 自分の環境を調べる

### ① python のバージョンを調べる

“`
> python –version
Python 3.x.xx
“`

### ② python のインストールフォルダを調べる

“`
> python
>>> import sys
>>> sys.exec_prefix
‘C:/Users/〇/〇’
“`

### ③ ②のフォルダに site-packages フォルダ が存在することを確認する

例)`C:/Users/〇/〇/Lib/site-packages`

## Step2 ifcOpenShellファイルを自分の環境にコピーする

### ④ gitHub から ifcOpenSh

元記事を表示

MacでPython|Jupyter notebookを使う (Mac OS 11/12)

# 目的
MacにPythonの開発環境を構築し,フロントエンドとしてJupter notebookを使う。
データサイエンスや科学技術計算向けに便利なAnacondaを使って管理。

# 環境
Mac OS 11.2.2でテスト済み。 Mac OS 12.x.x でも多分同じ。

# 手順
#### Command Line Tools のインストール 
Xcode+Command Line ToolsはMacでプログラム開発するうえで基本のパッケージ。
まずXcodeをいれていない場合はApp storeからインストールする。
https://apps.apple.com/jp/app/xcode/

ターミナルで以下のコマンドを実行。
“`
xcode-select –install
“`

#### Homebrewのインストール
Macで動作するパッケージ管理ツール。これも必須。
ターミナルで以下を実行するだけ。 。

“`
$ /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/

元記事を表示

Numbaは爆速だが、Dict(辞書型)は遅い

Numbaの高速ぶりには感謝しております。

下記サイトでもNumba使われてますが、Numbaが断然速い。本PCでもJavaScriptコードでは約3秒。Numbaは掲載記事通りのパラなら3.5秒程度。fastmathやparallelパラ付けで0.7秒位。断然速い。
https://itnext.io/compare-c-js-python-python-numba-php7-php8-and-golang-in-prime-number-calculation-55e82b6f82a9

PythonのコードをよりNumbaへ置き換えたいのですがDictがあると高速化はできていません。
わかる方がいらしたら教えて頂けると幸いです。

### キーは数字/Numba有り
– NoPythonモードでビルドできます

“`python
import numpy as np
from numba import njit
import time
start = time.time()

@njit(cache=True, parallel=True, fastmath=True)
d

元記事を表示

[Django] request オブジェクトの中身が見たい

## requestの中身を見たい
Djangoで開発中に `request` の中身を見たいと思ったことはありませんか? 僕はあります。
`django-debug-toolbar` 使えと言われたらそれまでなんですが、コードベースで見れるならその方がいいですよね。

## 方法

“`python:views.py
def index(request)
print(request.__dict__)
“`

## 出力
“`bash:bash
$ {‘_request’: , ‘parsers’: [, , ], ‘authenticat

元記事を表示

python3 思い出しメモ

# 本記事について
私自身がpython3について思い出したり、基本構文を参考にするためのメモです。

# おまじない
“`python:おまじない
# coding: utf-8
“`

# コメントアウト
“`python:コメントアウト
# コメントアウトできます

”’
複数行のコメントアウトが可能
複数行のコメントアウトが可能
”’
“`

# print
“`python:print
# 数値
print(数値)

# 文字列
print(“文字列”)

# 改行しない
print(xxx, end=””)

# 改行
print()

#********************************** f文字 **********************************
# 参考サイト:https://note.nkmk.me/python-f-strings/
# 記述方法 「123 and abc」と表示
# 「””」「”」どちらでもOK
num = 123
word = ‘abc’

1. print(‘{} and {}’.form

元記事を表示

PythonでYahooメールの受信内容を自動取得する

こんにちは、Notyです。

先日Pythonの練習としてYahooメールの受信内容を読み取るスクリプトを実装したので、備忘録も兼ねてソースコードを載せていきます。
## 事前準備
YahooメールのSTMPをご利用の場合、あらかじめ設定でSTMP経由のアクセスを有効にしておかないと、「b'[AUTHENTICATIONFAILED] (#AUTH404) Incorrect username or password」と表示されてログイン作業ができませんのでご注意ください。
## 実際のソースコード
“`py
import os
import sys
import ssl
import imaplib
import email
from email.header import decode_header, make_header

server = ‘imap.mail.yahoo.co.jp’

# メールアドレスとログインパスワード
usr = ‘xxxx@yahoo.co.jp’
password = ‘*****’

try:
context = ssl.crea

元記事を表示

Pythonのimportでハマッた話

# はじめに
以前「[Pythonのimport方法まとめ](https://qiita.com/elfincafe/items/a393594ba61799a7bac1 “Pythonのimport方法まとめ”)」という記事も書きましたが、PHPを使ってきたエンジニアには Python の import はなかなか難しい。今回はそんな import にハマったお話し。

# エラーが発生
ディレクトリ構成は以下のとおり。
~~~
test/
┣━ __init__.py
┗━ redis.py
~~~

redis.py の内容は以下のとおり。
~~~python:redis.py
import redis

if __name__ == “__main__”:
r = redis.Redis(host=”localhost”, port=6379, db=0)
r.set(“key1”, “value1”)
print(r.get(“key1”).decode())
~~~
redis.py を実行すると、redis には Redis というアトリビュートはない

元記事を表示

SHAPでplotした画像を保存すると真っ白になってしまったときの対処法

# 画像が真っ白になる理由
SHAPのsummary_plotで描画したグラフを保存したいとき、下のように書くと真っ白な画像が保存されてしまう。

“`python:
shap.summary_plot(
shap_values=shap_values,
features=X,
feature_names=X.columns,
)

plt.savefig(“image.png”) # 画像を保存
“`

この理由は以下の通り。
1. 実はsummary_plotの内部で`plt.show()`が実行されている。
2. `plt.show()`でグラフを描画すると、そのグラフのデータは消されてしまうため、その後に`plt.savefig()`を実行しても保存する画像のデータがなくなってしまっている。
3. だから、仕方なく真っ白な画像が保存されてしまうという訳である。

したがって、summary_plotの内部では`plt.show()`は実行しないで、`plt.savefig()`した後に`plt.show()`を実行すればよい。

# 解決法

summary_p

元記事を表示

[備忘録] jetson nano でusb cameraを動かす

# [備忘録] jetson nanoでusbカメラを動かす
– jetson nano (4GB)の起動
– [Getting Started with Jetson Nano Developer Kit](https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit)
– [jetson-inference](https://github.com/dusty-nv/jetson-inference/blob/master/docs/building-repo-2.md)の手順でプロジェクトをビルド ([Docker](https://github.com/dusty-nv/jetson-inference/blob/master/docs/aux-docker.md)も配布されている)

## OpenCVでエッジ検出して描画してみる
– ソースコード
– [GitHub, dusty-nv, jetson-inference](https://github.com/dusty-nv

元記事を表示

プロ野球:1位を当ててみた!~ロジスティック回帰で

# はじめに
最近ヤクルトが強いですね~ヤクルト1強みたいな感じになってますね。

### **ヤクルトの強さってどこに現れるんだろう?**

これが気になって、モデルを作ってみました。
今回は打率といった野球の様々な指標から、その球団が1位かどうかを
**ロジスティック回帰モデル**を使って予測させました。
# データ収集
以下のサイトから過去のデータを引用しました。
https://baseball-data.com/team/hitter.html
![baseball.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402757/db5b11e2-563d-a2dc-6f11-fa1c11ed17b0.png)
↑こんな感じで各球団の打率、得点等の統計データがあります。
今回は2009年~2021年における、セ・リーグのチーム打撃成績とチーム投手成績を収集しました。
webページの表データを自動で抽出するには、**pandasのread_html**を利用します。
“`python:baseba

元記事を表示

PyPIでPythonライブラリを公開する方法まとめ

PythonのライブラリはPyPIに集約されています。そのため、便利なライブラリを作ったら、PyPIで公開するとみんなが喜んでくれるはずです。

# パッケージの準備

PyPIでパッケージを公開するには、パッケージのファイル構成を工夫する必要があります。最低限以下のようなファイルを作ります。

“`
.
├── LICENSE
├── README.md
├── パッケージ名
│   ├── __init__.py
│   └── モジュール.py
└── setup.py
“`

## パッケージ名/__init__.py の内容

Pythonでどのメソッドを公開するのか、また、バージョンなど記述します。

“`__init__.py
# 記述例
from .モジュール import get, set, hoge as keys
__version__ = “0.1.0”
“`

## setup.py の内容

以下がsetup.pyの内容。普通のPythonファイルのため、バージョン情報などは、一カ所にまとめておくと便利。

“`setup.py
from setu

元記事を表示

PyenvとVSCodeでpython3.6のコードをデバッグしようとしたらできなかった

# 症状
PyenvでPython3.6.8にした上で、VSCodeでF5を押してPythonコードをデバッグしようとしたが一瞬デバッグのツールバーが出ただけで動かなかった

# 対処法
一番楽なのはPyenvで使うPythonのバージョンを3.7.0以上に上げること
試してないけど、[pdb](https://docs.python.org/ja/3.6/library/pdb.html#module-pdb)を使う方法も多分いけるはず(注意:バージョンに合ったドキュメントを読むこと)
他にも方法はありそうだけど、具体的には言えません(理由は後述)

# 原因考察
完全には判明していないので考察です
だらだらと書き連ねるだけなので、上の対処法で済む人は読まなくていいと思います

まず、Pyenvに問題がありそうだと思ったので、再インストールしたり(治らなかった)、色々なバージョンを入れてデバッグしたりしました
すると、
| バージョン | デバッガ動作 |
| —- | —- |
| 3.5.4 | x |
| 3.6.7 | x |

元記事を表示

DiscordのBOTを作ってDiscordをより便利にしちゃおう~!

# DiscordのBOT作成
## 経緯
python歴2年くらいの若輩プログラマーです。
趣味はゲーム!いやぁゲーム楽しい!

普段、インターネットの友達と通話やテキストチャットを送りあうのにDiscordを使用しています。
そんな中、こんなことが起こったのです。。。

Aくん「なにかイベントごとをやるときにイベント作成とそのイベント専用のテキストチャンネル作成を、同時にできたらすごい便利だよねぇ~…」

なるほど。確かに便利だ。

調べてみたらDIscordのAPIリファレンスがあるというじゃないか!
自問自答しました。

心の私「私ってプログラマーだよね?」
私「はい。」

心の私「しかもこれpythonだってよ?」
私「はい。」

心の私「じゃあ作ってみようぜ!!!!!!!!!」
私「はい!?!?!?!?!?!?!?」

はい、ってことで試しに作ってみました~

結構難しかったですが何とかなりました!

## 事前知識
こちらの記事は以下の方向けに作成しています。
– Discord知ってる人向けの記事になりますので、Discordって何!?気になる!!!って方はこちらをご覧

元記事を表示

Python VSCode import文で??ってなった話

# Pythonの勉強をしていた時のこと
サンプルコードを見ながら、入力してみて動きを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2732993/313e8886-1aa7-b728-f73b-6085e0236036.png)
ふむふむ・・・
「pkg1」と「chapter08」っていうフォルダを作ってその下に「calculator.py」と
「calculator_main.py」っていうファイルを作ればいいのか!
“`python:calculater.py
def plus(x,y):
return x + y
“`
“`python:calculator_main.py
from pkg1.calculator import plus
print(plus(1,2))
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2732993/7f215480-7

元記事を表示

PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (4)

PLCからゲートウェイでデータを取得し、データベースにJSONで保存します。複数回に分けて、サンプルを用いて解説します。
初回から前回にかけては、ゲートウェイを使って、PLCから取得したデータをMQTTでブローカーに送信するまでを実装しました。

[PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (1)](https://qiita.com/COOLMAGICPRODU1/items/31513295943763365915)
[PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (2)](https://qiita.com/COOLMAGICPRODU1/items/370b1bd37dca8a4fd9ae)
[PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (3)](https://qiita.com/COOLMAGICPRODU1/items/08891c828736428c1b5c)

今回はデータベースを準備します。
![348f9673721149a9206023ad2b3ca8e062d7eb7ab1449.png]

元記事を表示

地方で働くエンジニアのリアルについてお話ししませんか?

テスト

元記事を表示

Airflow資料抄訳(15):タイムゾーン(Time Zones)

恥ずかしながら最近になって知ったワークフローエンジン [Apache Airflow](https://airflow.apache.org/)。日本語の紹介記事もちらほら出てきていますが、[公式ドキュメント](https://airflow.apache.org/docs/)をちょっとずつ抄訳しながら読んでいこうと思います。

15回目の今回は[タイムゾーン](https://airflow.apache.org/docs/apache-airflow/stable/timezone.html)(Time Zones)。
バージョン2.3.3時点のものです。

# タイムゾーン(Time Zones)

タイムゾーン・サポートはデフォルトで有効です。Airflowは日時情報を内部的にUTCで管理します。これによりタイムゾーンに依存したDAG実行が可能となります。今のところ、Airflowは日時情報をUI上でエンドユーザーのタイムゾーンへと変換することはなく、いつでもUTCで表示されます〔註:古い解説?実際とは異なる。少しあとのサブセクションで解説あり〕。オペレーター内で使用

元記事を表示

OTHERカテゴリの最新記事