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

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

HerokuからRenderに移行しようと思ったけど、学生身分をフル活用してHerokuを使う

# 1. 概要
Herokuの無料プランがなくなってしまうので、PythonでつくったWebアプリを[Render.com](https://render.com/)に移管しようとしたら`OSError: cannot open resource`に苦しめられました。
解決はできたっぽいですが、無料プランではリソースが足りず`[CRITICAL] WORKER TIMEOUT`となっていしまいました。
困っていたところ、学生割あるじゃん!ってことに気付いたので、学生身分をフル活用してそちらに移行します。

https://www.heroku.com/github-students

# 2. 詳細
### `OSError: cannot open resource`の原因
日本語でWordCloudを使っているのでフォントを指定していたのですが、フォントのパスがうまく指定できていなかった模様。

## Render.comへの移管の手順
下記手順に従います。

https://render.com/docs/migrate-from-heroku

GitHub上に新たにRende

元記事を表示

teradatamlデータフレームから基本統計量を出力する

[Teradata® Package for Python Function Reference](https://docs.teradata.com/r/Teradata-Package-for-Python-Function-Reference/April-2022) [リリース番号:17.10 リリース日付:2022/4]の翻訳です。

# はじめに
PythonでVantageテーブルの基本統計量を出力します。
ライブラリとして[teradataml](https://pypi.org/project/teradataml/)を利用します。

:::note info
**teradataml**はTeradata Vantage用のPythonライブラリです。
:::

# 基本操作
## Vantageに接続する
“`python:python code
# 接続用ライブラリの宣言
import teradataml as tdml
# データベース接続
tdml.create_context(host = “IPアドレス”,username=’ユーザ名’,passwor

元記事を表示

Pythonでエージェントベースシミュレーション: 間接バイアス(Mesoudi, 2021)

この記事では、Alex MesoudiのRで書かれたチュートリアルをpythonに翻訳する。
下記の記事では間接バイアスのモデルが紹介されている。

https://bookdown.org/amesoudi/ABMtutorial_bookdown/model4.html

文化的形質の伝達におけるバイアスは直接・内容バイアスと間接バイアスの二種類がある。前者は、文化形質がより記憶に残りやすい、発音しやすいなどの理由から他の文化形質と比べて伝達されやすい傾向のことを指し、後者は文化形質の持ち主の特性によって伝達されやすくなる傾向のことを指す。本稿では、後者をモデル化する

間接バイアスでは、学習者が、成功している・利得の高い実演者を優先的に模倣することによって、特定の形質がより継承される。下記では、利得バイアスをモデル化する。

# エージェントベースシミュレーション
## 利得バイアス

まずは、必要なライブラリをインストールする。

“`python:python
import pandas as pd
import numpy as np
import random
imp

元記事を表示

Eclipseの米粒アイコンをPythonで大きくした話

# めでたし、めでたしのはずが
「今さらEclipse」シリーズ、第3弾。前回、SWT(Standard Widget ToolKit)のパラメーターによってUI全体の拡大をスマートにやっつけたはず、だったのだが、野蛮にもPythonでリサイズしてしまった。
(参考)シリーズ[第1弾](https://qiita.com/naohiro2g/items/4f0c66a2ff5eb79fe76d)、[第2弾](https://qiita.com/naohiro2g/items/dde897c0b510391182e0)

なぜかというと、気になることがいくつかあり。
– UI全体の拡大だと、ウィンドウのマージンやファイルリストの行間など、全てが拡大されて大味な感じになること
– エディターペインにゴミ、細い横線が時々表示されること(スクロールすれば消えるが)
– アイコン画像を全部リサイズしてしまったらどうなんだろ、と思いついてしまったこと

アイコンのリサイズをJavaでやったら入門者らしかったのだが、いかんせん、初心者すぎて、そのレベルに達するまで待てない。ので、Pythonで

元記事を表示

競走馬の強さの数値化に挑戦する

こんにちは、@daifukusanです。
専門学校でITに関する授業を教えている傍らで、趣味で機械学習やデータサイエンスを勉強しています。

参考書を読むだけの勉強は、中々モチベーションが続かないので、学生時代にハマっていた競馬を題材にして、分析やら機械学習やらで遊んでいます。

今回は、その際に試した内容を紹介します。

# 1. はじめに

機械学習をやっていて厄介な問題の一つがカテゴリカル・データの扱いです。
例えば、以下のようなデータだと、馬名や騎手名、レース名、天気、馬場などの大小関係のないラベルデータです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2781058/0348050b-3853-aade-4165-de12b0342df4.png)

以下のページによると、カテゴリカル・データを数値化する手法は大きく4つあるようです。
※それぞれの特徴については、割愛します。

– One hot Encoding
– Label Encoding
– Count

元記事を表示

AIに世界三代切花を画像で学習させてみた

# 画像収集

flickrからキク(chrysanthemum)、バラ(rose)、カーネーション(carnation)の画像を検索&収集。
“`python:imageCollection.py
from flickrapi import FlickrAPI
import os, sys, time
from urllib.request import urlretrieve

text = sys.argv[1]
dirpath = sys.argv[2]
if not os.path.exists(dirpath):
os.mkdir(dirpath)

api_key = ‘xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx’
secret = ‘xxxxxxxxxxxxxxxxx’

per_page = 500
media = ‘photos’
sort = ‘relevance’
safe_search = 1
extras = ‘url_q, licence’
flicker = FlickrAPI(api_key=api_key, se

元記事を表示

【iframe】Noneを返すWebサイト〜スクレイピングの落とし穴〜

今回はpython学習で大変お世話になってるはたやす先生のUdemy講座から内容を引用してます。

https://www.udemy.com/course/webscraping-with-python/

皆さんはスクレイピングでエラーが出る原因はなんだと思いますか?

タグの指定が間違えてる?find_allの後にforで回してない?

いやいや、なめんなよ:smirk:基礎さえ押さえればスクレイピングなんて楽勝楽勝〜

って思ってました、私。 そして見事に詰むw

どう見てもちゃんとタグは指定してる、コードも間違ってない!なのになんで・・

![スクリーンショット 2022-11-27 11.54.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2980135/5bbfda63-3253-017f-6cf7-389c6a892dc8.png)

しかもこのNoneを返すサイト、なぜか検証ツールも反応しないんです。

![スクリーンショット 2022-11-27 12.00.06.png

元記事を表示

【Python】馬の競走成績情報をエクセルに出力してみた

## 概要
pythonで馬の競走成績情報をWEBスクレイピングしてGoogleスプレッドシートに出力する処理を作ってみました。

## 前提条件
Pythonが既にインストールされていること。
Google Cloud PlatformのAPIライブラリにアクセスして下記のインストールが終わっていること。
(詳しくはGoogle Spread Sheets に Pythonを用いてアクセスしてみたを参考にしてください)
「requests」と「beautifulsoup4」がインストールされていること。
【【Python】WEBスクレイピングした結果をエクセルに出力してみたの続編です

元記事を表示

TwitterAPIを使ってランダムな固定文をツイートさせた話

1.作成の経緯

きっかけは、知人から
「Twitterって更新しないと埋もれちゃうけど、ツイートするのもめんどうなんだよねぇ…
なんか、自動でツイートできるようなもの作ってよ」
そんな内容のDMが届いたところから始まりました。
(そんなん言うならTwitterやめちまえ)

当初は断ろうと思っていたのですが、**知人のため**に作ってみることにしました
(アドベントカレンダーもあるからしゃーなし、って訳ではないです。)

2.環境

・vscode Version 1.73.1

・Python 3.11.0

3.実際のソースとか

以下、自分が実際に作成したソースです。

tweet.py(メインのソースです)
“`py
from requests_oauthlib import OAuth1Session
import json, config #標準のjsonモジュールとconfig.pyの読み込み
from requests_oauthlib import OAuth1Session #OAuthのライブラ

元記事を表示

contabo VPSにEclipseをインストールしてみた

参照サイト

https://takilog.com/ubuntu-eclipse-develop/

https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/eb-cli3-install-linux.html

Python環境を構築するためにEclipseをインストールする

# EclipseをHPからダウンロードする

# Eclipseをインストールする
“`
mkdir eclipse
cd eclipse/
tar -xvzof ~/Downloads/eclipse-inst-jre-linux64.tar.gz
./eclipse-inst

“`

# PyDevをインストールする
Help > Install new software

newinstallPythonでOpenImageIO(OIIO)を使ってOpenEXRをJPEGに変換する

# 自己紹介
株式会社digitalbigmoのパイプラインエンジニアの小池@plinecomです。

# これは何?
私はOpenEXR推しの人なんだけれど、OpenEXRを簡単にプレビューできないことは良くあるので、JPEGあたりに変換したいと思ったのだ。でも、すでに何千万枚もあるし、今後も増えるので、Pythonで処理したい。そこで、普通はOpenCVってなるところなんだけど、OpenImageIOという便利そうな仕組みがある事を知ったので、こちらを利用することにした。OpenImageIOの方が[対応しているファイル形式](https://openimageio.readthedocs.io/en/latest/builtinplugins.html#bundled-imageio-plugins)も多いし、画像データをNumPy配列で扱うので、後々色々便利だと思うのだ。特にDPXにも対応しているっぽいのがポイント高いと思った。

# コード(低レベルAPI版)
“`python:low.py
import OpenImageIO as oiio
import glob

i

元記事を表示

第5回: アニーリング基礎4. 巡回セールスマン問題

– 東京、島根、大阪、福岡、新潟、香川の6都市を1回づつ巡回する場合、移動距離が最小となる巡回経路をアニーリングを用いて算出する。

**前回**: [第3回: アニーリング基礎3. クラスタリング問題、2次元スピンの1次元化](https://qiita.com/opt_d/items/38830f0360af4db17484)
**参考**: [第4回: Google Maps Platform, Directions APIによる地点間情報取得(巡回セールスマン問題への下準備)](https://qiita.com/opt_d/items/c3daf697cca162d46a7a)
**Keyword** :巡回セールスマン問題

### 1. 基本準備/設定
#### 1.1 量子アニーリング用モジュールのインストール
まず、初めに、以下のモジュールをインストールする。
– ***dwave-ocean-sdk***:Dwaveアニーリングマシンのモジュール
– ***openjij***:アニーリングシュミレーター
– ***pyqubo***:Qubo行列作成サポートモジュ

元記事を表示

傾斜量計算によるPythonとCの時間比較

これまでに傾斜量の算出方法を紹介し,Pyhonプログラムも掲載しました.これらの記事で用いた標高データ(傾斜量計算の入力データ)は比較的狭い範囲でしたので,計算時間はPython実装でも数分程度で完了しました.しかし,土木分野の実務では,より広域な範囲に対して地形解析を行う場合もあるため,このような場合では,業務の進捗を考えると計算時間は非常に重要なファクタとなります.
そこで,傾斜量の計算時間について,今回はC実装(最適化あり)と簡単に比較してみようと思います.

https://qiita.com/KouichiGodai/items/82196a7fff36fb0da4c0

https://qiita.com/KouichiGodai/items/048aba86ffb7734498b8

# 1.システム環境
傾斜量計算のPython実装とC実装を比較する環境は以下の通りです.
+ CPU:Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz
+ メモリ:64GB
+ OS:Ubuntu 18.04.4 LTS
+ Pythonのバージョン:Pyt

元記事を表示

HuggingFace(BERT)を便利なTrainerを使用して分類する

## 0. はじめに

最近HuggingFaceを使う時に、Trainerを使うと便利なことがわかったので**本記事は自分へのメモ用として残しておく**
※以下記事はvalidが無かったりする為、本記事は改訂版の位置づけともなっている
※あえて本記事では自作でmodel部分をカスタマイズさせたりしている

https://qiita.com/ku_a_i/items/bac3befedbadab45774f

★本記事の全コードを[Google Colab](https://colab.research.google.com/drive/1V-dOAB8cey8sjFfcVD0JrM3uQz7bAoO5?usp=sharing)でも共有しました

– 動作環境
* OS : Windows10 pro
* python: 3.9.6 
* transformers: 4.23.1
* Pytorch: 1.12.1 (+cu116)
* jupyter notebook(vscode)

まずは本記事で使用するライブラリ群のインポートとseed固定を最

元記事を表示

傾斜量の算出方法(その2)

前回に引き続き,今回も傾斜量の計算方法について紹介したいと思います.
前回は,傾斜量の計算方法を1つだけ紹介しましたが,傾斜量の計算方法は他にも提案されています.今回は,それらについて紹介します.前回と同様,Pythonのプログラムも掲載しています.

https://qiita.com/KouichiGodai/items/82196a7fff36fb0da4c0

# 1.傾斜量の計算方法
今回は,以下の文献に記載されている計算方法で傾斜量を算出してみます.
+ 神谷泉,田中耕平,長谷川裕之,黒木貴一,早田 靖博,小田切聡子,政春尋志,”傾斜量図の作成とその応用”,情報地質,Vol.10,No.2,pp.76-79,1999年

https://www.jstage.jst.go.jp/article/geoinformatics1990/10/2/10_2_76/_article/-char/ja/

+ 独立行政法人土木研究所 土砂管理研究グループ 地すべりチーム,地すべり地における航空レーザー測量データ解析マニュアル,土木研究所資料,平成21年6月

https://www.

元記事を表示

napariでPointを配置した輝点を2次元ガウシアンでフィッティングする

# やりたいこと
輝点画像にPointを配置して、その輝点を2次元ガウシアンでフィッティングして、輝点の座標を出力したい。

# コード
“`fit_signal_with_gaussian.py
import glob
import math
import napari
import numpy as np

from scipy.optimize import curve_fit
from skimage import io

dir_name = “./data”
file_names = glob.glob(dir_name + “/*.tif”)
stack = np.array([io.imread(file_name) for file_name in file_names])

viewer = napari.view_image(stack)
points_layer = viewer.add_points(ndim=3)

ws = 9
def gaussian_2d(x, a, b, c, d):
return a * np.exp(-(b * ((x

元記事を表示

AWS Lambda for Python 用に cryptography を同梱する

# はじめに

Lambda 関数デプロイ時に JWT デコードに利用する cryptography を同梱してデプロイしたかった。
そのため、cryptography を含む AWS Lambda Layer を作成 or 再利用しようとしたのだが、[Lambda@Edge 用の関数は Layer を利用できないという制約がある](https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/edge-functions-restrictions.html)。

最初は local で pip でインストールしようとしたのだが、 cryptography のライブラリ自体が pip でインストールする時に環境依存のバイナリを入れてくるため、`pip -t .` でインストールしたモジュールをアップロードしても、基本的には動作しない。

そのための解消方法をメモする。

が、正直、原始的なやり方であり、かなり限定的なユースケースでしかないので、代用が可能ならそちらを利用した方が良いので本当に最終手段と

元記事を表示

Pytorch LightnigでGPUを指定する方法

# Pytorch LightnigでGPUを指定する方法

こんにちは、九州大学修士2年の浅海です。
Pytorch lightningで指定のGPUを使用する設定に、つまづいたのでここにメモします。

こちらの記事は、Pytorch LightnigでGPUを指定する方法 に関する以下のセッションの内容をまとめたいと思います。

## 1. pl.Trainerの引数で使用するGPUの定義
pl.Trainerの引数にて、__gpus=[使用したいGPUの番号]__ とすることで、GPUを指定出来ます。

“`python
trainer = pl.Trainer(
accelerator=”gpu”,
gpus=[使用したいGPUの番号],
)
“`

ここで注意!!
必ずGPUを指定したい場合は __リスト形式 []__ で括る必要があります。

**gpus=[1]** とすることで、以下の画像のように一つの指定したGPUを使用することが出来ました。
!

元記事を表示

FlaskをElastic Beanstalkでデプロイに関するヒント

# FlaskをElastic Beanstalkでデプロイに関するヒント

## 紹介

少し自分用のためのノートですが、Github Actionsを使ってPython FlaskをAWSのElastic Beanstalkでデプロイする時、いろいろ設定と注意点を書きたいです。

## やりたいこと

1. CI/CD
2. IPでアクセス制限
3. Flask(Dash)とPlotlyを使いたい
4. 低コスト

## ソースコードテンプレート

https://github.com/leolui2004/flask-deploy

## 手順

### ネットワーク

1. VPCを作成
2. サブネットは一つでも良い
3. セキュリティグループを作成
4. VPC・サブネット・SGのIDを記録

### CI/CD

1. AWSでデプロイ用ユーザーを作成、権限はこちら(少し過剰だけど)
– AmazonEC2FullAccess
– AdministratorAccess-AWSElasticBeanstalk
2. キーをGitHub Secretsに入れる(先のネッ

元記事を表示

LabVIEWとPythonの連携

### はじめに

LabVIEWのサブスクリプト移行により、計測部分はこれまで使ってきたLabVIEWで、解析部分だけをPythonで行えないか?との相談を受けた。(そうするとLabVIEWのサブスク費用を抑えることができる?解析モジュールなどのアドオンを使わないですむ。)相談では、リアルタイム処理(数msオーダーの処理)は不要とのことでした。そこで2つの解決策を考えました。

– LabVIEWからPythonを呼び出して処理
LabVIEWにある(1)Pythonノード、(2)コマンドプロンプト、(3)HTTPクライアントなどを利用してPythonとの連携が考えられます。(1)のPythonノードは使ったことがないのでわかりませんが、[LabVIEWでPythonコードを活用する ](https://marblerule.com/how-to-use-python-node/)の解説を見ると制約が多い印象を受けます。(2)コマンドプロンプトの場合、Python側では sys.argvを使って引数を渡すようにプログラムする必要があります。(3)HTTPの場合、Python側でF

元記事を表示

OTHERカテゴリの最新記事