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

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

データ画像の水増しコード(colab使用)

#はじめに
同じ画像を回転させたりして違う画像へ変更するコード
が必要となったため、作成しました。
(注意:Google colab用に作成したので変更箇所は個人で
お願いします。)

#コード
https://github.com/ryotaro137/data.git

#補足

元記事を表示

Ubuntuで.ipynbを.pyに変換する方法

#はじめに
.ipynbを.pyに変換する方法のメモ。

#動作環境
– Windows 11
– Ubuntu 20.04.1
– pip 20.0.2
– python 3.8

#前提条件
– python3系
– pip (pip3)
– jupyter

#インストール

以下のインストールが必要。

“`
sudo apt install jupyter-core
“`

“`
sudo apt install jupyter-nbconvert
“`

“`
pip3 install jupyter
“`
#実行
以下を実行すると.ipynbと同じディレクトリに.pyが作成される。

“`
jupyter-nbconvert –to script terget.ipynb
“`
__terget.ipynb__が変換したい.ipynbファイル。

#まとめ
Jupyter NotebookでPythonを書くなら、pdftotextを使うのに必要。
~~タイプミスに気を付ける。~~

元記事を表示

ゼロから作るDeepLearning3で躓いたところをまとめる

# はじめに

この記事では、[ゼロから作るDeepLearning➂フレームワーク編](https://amzn.to/32ylkXq)で躓いたところをまとめていきたいと思います。

本書はかなりわかりやすく丁寧に書かれてはおります。
しかし、ほんの一部省略が発生してしまい、コードを動かしている人であれば、誰もが止まってしまうのではないかと思いまとめることにしました。

私の読書スピードに合わせて順次更新予定となります。

# 問題

## 1. ステップ32 高階微分(実装編)

この章で書籍初となるあとは読者に任せたが発生します。
具体的には、`core.py`と`__init__.py`になります。

修正は`Add`と`Mul`については書かれていますが、そのほかについては同じように書いてくださいとのことでした。しかし、ここで同じように書いても動かなかったり、同じようにってどういうこと?の人もいるかと思いますのでコードを載せておきます。

“`core.py
import weakref
import numpy as np
import contextlib

# =

元記事を表示

CIFAR10で遊んでみた

Alexnet
参考
https://qiita.com/URAN110/items/ea2bfc8f7ba2fc858de3
https://github.com/uran110/AlexNet-Cifar10/blob/master/alexnet_cifar10.py

![Alexnet.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2323875/4d3e8cc0-6918-a050-d874-364432ca76d7.png)

resnet
参考

ResNetをKeras(TensorFlow, MXNet)、Chainer、PyTorchで比較してみる


https://github.com/koshian2/ResNet-MultipleFramework/blob/master/resnet_keras.py

20層![resnet_20.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2323875/f4

元記事を表示

[Python]画像を連番付きでラベルシートに印刷するためのPDFを作成するスクリプト

## はじめに

QR画像を連番付きで大量印刷する必要があったので、Pythonの[reportlab](https://www.reportlab.com/)というライブラリを活用して作成しました。

ローカル環境でのその作成方法とスクリプトをまとめておきます。

※本記事ではスクリプトの全体を載せていますが、解説については長くなってしまうので省略しています。別記事で整理したいと思います。

## やりたいこと

印刷する用紙としては、こちらの**「[エーワン ラベルシール 品番72312](https://item.rakuten.co.jp/bungle/72210/)」**を使いました。
名刺サイズの10枚組のもの。

![image-20211124234520642.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/499640/d4159432-6e47-e843-6f85-eb0fcb76dc65.png)

このラベルに合わせて、QRを連番付きで印刷するためのpdfファイルを作成します。

元記事を表示

Python_ __name__, __main__

# 実行スクリプト上での`__name__`は`__main__`になる
“`my_module.py
def print_name():
print(__name__)

print_name()
“`

“`実行
$ python my_module.py
__main__
“`

# moduleとして呼び出した時の`__name__`はmodule名になる
moduleをimportしたときにmoduleを全て一度実行するので、my_moduleが3回printされている。

“`main.py
import my_module

my_module.print_name()
print(my_module.__name__)
print(__name__)
“`

“`
$ python main.py
my_module
my_module
my_module
__main__
“`

# moduleをimportして使用するときに実行したくない処理は`if __name__ == “__main__”:`の中に入れる

“`my_modul

元記事を表示

【AtCoder】初学者,TLEに心を折られる

### はじめに
PythonでAtCoderにチャレンジしているのですが,TLEで挫折することが多々あります.
今回もそんな感じになったので,初記事を書いてみます.ちなみに,PythonもAtCoderもともにぺーぺーです.

### 発生している問題・エラー
例えば,タイムリーなこの問題(AtCoder Regular Contest 130 B- Colorful Lines).後工程から見ていく方法でトライしました.

https://atcoder.jp/contests/arc130/tasks/arc130_b

以下の通り回答しましたが.TLEが22/35となりました.平均**2206ms**かかっている.
$Q ≤ 3×10^5$ でしたが,おそらくN, Mを毎ループ探してしまうのがダメなのか…しかしそれをしないやり方はあるのか….

“`py
import sys
input = sys.stdin.readline

H, W, C, Q = map(int, input().split())
t = [0] * Q
n = [0] * Q
c = [0] *

元記事を表示

Python_デコレーター

# デコレーターの書き方

“`py
from functools import wraps

def デコレーター名(func):
@wraps(func) # なくても動くがある方よい
def wrapper(*args, **kwargs): # どんな引数をとってもいいようにすると良い
# デコレーターとしての機能を記述
return func(*args, **kwargs) # funcの実行結果を返す
return wrapper
“`

# デコレーターの使い方

“`py
@デコレーター名
def デコレーターを使用する関数():
処理を書く

# 実行
デコレーターを使用する関数()

“`

# 実行時間を計測するデコレーター例

“`py
import time
from functools import wraps

def stop_watch(func):
@wraps(func)
def wrapper(*args, **kwargs):
star

元記事を表示

仮想環境でDjangoを動かすンゴ

# この記事で書くこと
1. 使用するPythonバージョンを切り分ける(pyenv)
1. Pythonをインストールする
1. 仮想環境を作成する(venv)
1. Djangoをインストールする

### 使用環境
OS:macOS Big Sur ver11.0.1
使用するシェル:bash

pyenv:2.2.2
python:3.10.0
Django:3.2.9

※homebrewを使用しますが、ここでは解説しないので良い感じにアップデート推奨です。

## 1. 使用するPythonバージョンを切り分ける(pyenv)
pyenvを使って、使いたいPythonバージョンを用意します。
今使ってるpythonバージョンで問題ない場合は不要です。

### pyenvをインストールする
“`bash
brew install pyenv
“`
インストール後、もろもろの設定をします。
自分の場合、Mac ✖️ bashを使用しているため、以下の設定を行いました。

“`bash
echo ‘export PYENV_ROOT=”$HOME/.pyenv”‘ >>

元記事を表示

自分用 備忘録

right(engineer)です。

今回は、自分用の備忘録をまとめる。

# JupyterLabの起動方法
ターミナルに以下コマンドを入力する。

“`
$ jupyter lab
“`

元記事を表示

【Python】2つのPDFファイルを交互に結合する

## はじめに

最近,A3,B4をスキャンできるスキャナを購入したが,
両面同時スキャン対応していなかった (´;ω;`)

両面プリントの束をスキャンするときに,
面倒だが片面ずつスキャンしてPDFファイルをマージする必要がある

10枚の両面プリントをスキャンしたとき(A:表面,B:裏面,数字は枚目)
1回目のスキャンでできたPDF:1A,2A,3A,・・・,10A
2回目のスキャンでできたPDF:1B,2B,3B,・・・,10B

これを,
マージしたPDF:1A,1B,2A,2B,・・・,10A,10B
とする必要がある

## プログラム設計

書くべきほどのことではないが,簡単に書くとこんな感じであろう

– 引数は,結合する2つのファイル名と出力するファイル名
– 結合する2つのファイルの存在チェック
– 結合する2つのページ数が同じかチェック
– 1ページごと交互に新しいファイルに書いていく

## PyPDF2

python で PDF ファイルを扱うなら PyPDF2 がよさそうだ

https://pythonhosted.org/PyPDF2/

インスト

元記事を表示

pythonで書かれたコードの実行時に、別途用意したファイルを標準入力から入力する

n版煎じですみません。
pythonで書かれたコードの実行時に、標準入力から別途用意したファイルを入力する方法メモ。

以下のようなコードがある場合

“`python:test.py
#!/bin/python3

line1 = input()
line2 = input()
print(line1)
print(line2)
“`

何もせずに実行すると以下のようにCUIからの標準入力待ちになる。

“`
$ python3 test.py
this_is_line1 ★入力する
this_is_line2 ★入力する
this_is_line1 ★出力される
this_is_line2 ★出力される
“`

以下のようにすると別途用意したファイル(`input.txt`)を標準入力から入力できる。

“`
$ python3 test.py < input.txt this_is_line1 this_is_line2 ``` ```text:input.txt this_is_line1 this_is_line2 ``` ### 追記 (コメントでアドバイ

元記事を表示

SWIGで C++ の opencv コードのPythonラッパーを作成

#SWIGインストール

http://rinatz.github.io/swigdoc/install.html

Archlinuxの場合

““bash
sudo pacman -S swig
““

#ビルド

[参考 swig-and-c-shared-library](https://stackoverflow.com/questions/10126531/swig-and-c-shared-library)

###ラッパーファイル生成
OpenCVをインクルードしてる`mylib.h`に対して`mylib.i`を用意
``など標準ライブラリをインクルードしてるならその対応の.iも入れておく ([string-arguments-are-not-recognized-by-swig](https://stackoverflow.com/questions/12236150/string-arguments-are-not-recognized-by-swig))

““
%module mylib

// Make mylib_wrap.cxx

元記事を表示

ラズパイで子供の寝相監視をした時のログと、参考にした記事のまとめ【前編】

# はじめに

もうすぐ2歳になる子供が家に滞在していたので、せっかくなので寝相をとって動画にして、みんなで楽しむことにした。
そのときに行ったことのまとめ。

# 使用機器

|項目|内容|
|:–|:–|
|ラズパイ|Rapsberry Pi4 4GBモデル|
|カメラ|[よくある暗視カメラ](https://www.amazon.co.jp/gp/product/B0768Z87JF/)|
|SDカード容量|32GB|

## 初期設定

ラズパイを買ったのは相当昔で、初期設定自体は何を参考にしていたかは忘れてしまった。

特筆するようなことはしていないので、[このページのような記事](https://raspida.com/rpi-setup2021)を参考にしておけば良さそうである。

# 方針

今回は次のような方針で動画を作成することにした。

1. Pythonでカメラを制御し、一定の間隔で画像を撮影するコードを作る
1. 遠隔制御し、1のコードを起動する
1. 撮影した動画をメインの環境(Windows)にコピーする
1. メイン環境にて動画化
1. みんなで楽

元記事を表示

Pyhon line-bot-sdkによるLine Bot備忘録

#Pyhon line-bot-sdkによるLine Bot備忘録

###Line Bot応答の概要
 Lineユーザーが公式Lineアカウントへメッセージを送り、Messaging APIがそれを受け取る。Messaging APIに登録しているWebhook URL(Bot server)へHTTPS POSTリクエストを送る。受け取ったリクエストの”Header”の著名と”Body”をサーバーに登録している秘密鍵によってエンコードされた著名が一致するかどうか検証する。承認されればBotが応答し、その結果をMessaging APIへ返す。Messaging APIから公式Lineアカウントへ返す。

###事前登録
Line APIを使うため、Python Developpersに登録

https://developers.line.biz/ja/

Bot severを使うため、Herokuに登録

https://dashboard.heroku.com/

Herokuにオリジナルプログラムを連携させるため、git hubに登録

https://github.com/

元記事を表示

AWS+ServerlessFrameworkを使ってPythonバックエンドを構築する

ここしばらく個人でスマホアプリを作ってみたいと思い色々とバックエンド側の構築方法を探っていました。Amplifyを使おうかと思っていたのですが、Flutterではdatastore周りが少し安定していない感がありまして、噂に聞いていたServerlessFrameworkを使ってみることにしました

Flutter的にはバックエンドはFirebaseがメジャーだと思いますが、私のスキルセット的にAWS、LambdaもPythonで構築することにしました

# この記事でできること
* ServerlessFramework、AWSを使ったバックエンドの構築
* APIGateway + Lambda + S3 + DynamoDBの構成
* APIKeyを使ったREST APIのアクセス管理
* S3やDynamoDBに対する、アクセスロールの設定
* ルートディレクトリに集まりがちなfunctionを関数ごとにディレクトリ分け

と、バックエンドを構築するときの一通りのことができるのではないかと思います。また、ServerlessFrameworkそのものの導入方法は割愛します。すで

元記事を表示

気象学における流線関数・速度ポテンシャルとPythonでの計算方法

# はじめに

季節〜気候スケールの大気の水平の流れ場を表現する場合には、流線関数(stream function)や速度ポテンシャル(velocity potential)を用いることがある。

これらの量を東西・南北風速から計算するには、後述するようにPoisson方程式を解く必要があり、localな差分計算のみからは求まらない。このため、例えばMetPyの[metpy.calc](https://unidata.github.io/MetPy/latest/api/generated/metpy.calc.html)には関数が用意されておらず、別のパッケージを用いる必要がある。

https://github.com/Unidata/MetPy/issues/993

ここでは、xarrayで読み込んだデータに対して、windsphermというPythonパッケージを用いて計算する方法を説明する。windsphermは、全球の風速データに対して球面調和関数展開を適用し、流線関数・速度ポテンシャルなどの風に関わる諸量を計算することができる。

https://ajdawson.gi

元記事を表示

PyQt5のチュートリアルを動かす ① Hello World

# はじめに

以下のサイトを参考にPyQt5のチュートリアルを動かしてみました。

https://www.tutorialspoint.com/pyqt5/pyqt5_hello_world.htm

# サンプル1

最初のサンプルです。

“`python:sample1.py
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
def window():
app = QApplication(sys.argv)
w = QWidget()
b = QLabel(w)
b.setText(“Hello World!”)
w.setGeometry(100,100,200,50)
b.move(50,20)
w.setWindowTitle(“PyQt5”)
w.show()
sys.exit(app.exec_())
if __name__ == ‘__main__’:
windo

元記事を表示

【AtCoder解説】PythonでABC229のA,B,C,D,E問題を制する!

**ABC229**の**A,B,C,D,E問題**を、**Python3**でなるべく丁寧に解説していきます。

ただ解けるだけの方法ではなく、次の3つのポイントを満たす解法を解説することを目指しています。

– シンプル:余計なことを考えずに済む
– 実装が楽:ミスやバグが減ってうれしい
– 時間がかからない:パフォが上がって、後の問題に残せる時間が増える

ご質問・ご指摘は**コメント**か**ツイッター**、**マシュマロ**、Discordサーバーまでお気軽にどうぞ!

**Twitter: [u2dayo](https://twitter.com/u2dayo)**
**マシュマロ: https://marshmallow-qa.com/u2dayo**
**ほしいものリスト: https://www.amazon.jp/hz/wishlist/ls/2T9IQ8IK9ID19?ref_=wl_share**
**Discordサーバー(質問や記事の感想・リクエストなどどうぞ!) : https://discord.gg/jZ8pkPRRMT**
よかったら**LGTM**

元記事を表示

condaとpipとTensorFlow【Python】

#はじめに
Anaconda環境でTensorFlow2.4.1を用いてコードを書いていたのですが、TensorFlow2.6以降に追加された関数を利用したかったので、下記のようにcodnaインストールできるバージョンを探してみました。

“`bash
conda search tenosrflow-gpu
“`

すると、「tensorflow-gpu 2.4.1」(Anacondaのバージョンによっては「tensorflow-gpu 2.5.0」)が最新のバージョンとなっており、望む結果ではありませんでした。

#conda install tensorflow と tensorflow-gpu
TensorFlow2.x系は基本的にGPUを用いるので、「tensorflow」と「tensorflow-gpu」のどちらをインストールしてもGPUを用いることができるらしい(先に結論:condaではできない)ので、インストール可能な「TensorFlow」のバージョンを調べてみました。

“`bash
conda search tensorflow
“`

すると、「tenso

元記事を表示

OTHERカテゴリの最新記事