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

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

mayaの環境を構築していく 1日目

個人的な勉強の為にmayaを導入

今まで手元にあったmayaは2016で保守プラン切ってしまったので、
maya インディーを購入しました。

1年半ぶり何回目かのグランドゼロな環境なので、mayaの作業環構築のログを残していこうかと思います。

DLとインストール

割愛・・・・したいけれども一応。
現在 mayaの最新版は2022ですが、2020を使いたいので2020のインストーラーをDLしてきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1484234/ca8b0180-e2b4-9fd8-b699-33d639c48aa8.png)

オートデスクのページにログインして、製品とサービスからDL可能なverを探してDLしました。

※DL出来るのは 最新verを含めた4verなので、2023がリリースしたら2018が押し出されます。

ここからあとのインストール工程は割愛

mayaの起動

完全に初回起動の場合、プリファレンスが無いので新規に作るか過去ver

元記事を表示

論文の勉強8 Inception V3

Inception V3について構造の説明と実装のメモ書きです。
ただし、論文すべてを見るわけでなく構造のところを中心に見ていきます。
勉強のメモ書き程度でありあまり正確に実装されていませんので、ご了承ください。

以下の論文について実装を行っていきます。

タイトル:Rethinking the Inception Architecture for Computer Vision

https://arxiv.org/pdf/1512.00567.pdf

Inception V2とV3は同じ論文で紹介されており、GoogleNet(Inception V1)の改良となっています。
factorizationにより、ある畳み込み層をそれより小さいkernel sizeの畳み込みに分解することで計算コストを削減しています。
また、V3はV2を少し修正したものであり実装はほとんど変わりません。
ここではV3の実装を行います。

### Inception V3

#### Inception Modules
Inception V3では複数の種類のInception Moduleがでて

元記事を表示

ビリビリ! アニメの超解像モデル

#アニメに最適化された超解像モデルを使う方法です
元画像
超解像

#何気なくみているアニメも実はアーティファクトがあったりする

#Real-CUGANでスッキリ
ノイズを取り除き、4倍にまで超解像できます。

#方法
リポジトリをクローンして、事前トレーニング済みのweightをダウンロードします。

https://github.com/bilibili/ailab

upcunet_v3.pyからモデルをインポートして実行します。

“`python
import

元記事を表示

PythonでFakerを使ってダミーデータを作成する

めんどくさいテストデータの準備に便利そうなFakerというライブラリがあったので試しに使ってみ他時のメモ。
## サクッと使ってみる

### インストール

“`bash
pip install faker
“`

### ランダムな名前と住所を出力

“`python
from faker import Faker

fake = Faker()
print(fake.name())
print(fake.address())
“`
“`python:出力結果
Amy Arnold
76948 Andrea River Suite 401
West Kelliview, MO 14983
“`
簡単に名前と住所を作成することができました。
ただ、日本の名前と住所じゃないので使いにくい・・・。
Faker()のインスタンスを生成する際にLocale設定を追加してあげれば日本語対応もできるみたいです。

“`python
fake = Faker(‘jp-JP’)
print(fake.name())
print(fake.address())
“`
“`python

元記事を表示

pythonで実行位置指定型ジョブリラン

# はじめに

pythonで書かれたバッチジョブにて、ジョブ途中停止の状況によりリランする位置を変えたいという要望がありました。
本記事ではその方法について考えていきたいと思います。

### お断り

ここに書くことは基本的にバッドノウハウだと思います。

# pythonでできないこと

## gotoがない

今どきのプログラミング言語では存在するほうが珍しいgoto構文ですが、pythonにも当然存在しないようです。
ただ、検索すると[冗談のようなgotoモジュール](http://entrian.com/goto/download.html)が存在します。実際冗談なので使用してはいけないでしょう。

## switchもない

swithがあれば以下の様に記載できるでしょう。

“`c:例えばcなら
void job(int stepNo){
switch stepNo{
case 0:
// step0の処理を実行
case 1:
// step1の処理を実行
case 2:
// step2の処理を実行
ca

元記事を表示

【コピペで完成】Qiitaの中で1番早く?!仮想通貨自動売買BOTを誰でも体験【シストレ超々入門】

#概要
というわけでよくある自動売買bot系の記事です
とりあえずDockerとか難しい(?)とこから入らないで
秒で環境ができて、即動かせるコードを公開したいです
逆に言えば僕が勉強初め時にとりあえず欲しかったコードです。。。

「とりあえず自動売買シュミレータレベルで動かしたい人」向け
動かなかったらごめんなさい

#目的
何でもいいから、とにかく秒で動く自動売買系のコードが欲しい人向けにコードを公開する

#完成イメージ
今回はこのグラフが出来たら成功です。上のグラフが相場で、下のグラフが損益のグラフです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/181863/12670741-3b57-cf39-2299-2197a9ee8b1a.png)

#まずはコピペでコードを動かそう
以下を開いて
https://colab.research.google.com/
+コードのボタンを押して以下をコピペ
※Googleログインは必須

“`fastBotTest.ipynb
!p

元記事を表示

FirebaseとHerokuでエセAndroidフルスタック開発をした話

# まえがき

このたび、北海道札幌琴似工業高等学校 全日制 情報技術科を卒業することになりました。
今は学年末テストが終わって成績確定を待っている状況で、今後なにもなければ3/1日をもって卒業、進学することとなりました。

弊校では三年時にすべての生徒が「課題研究」という名で、なにかしらものを作ります。
私の所属する班はAndroidアプリを作ることになりました。

つまるところこの記事は、FirebaseとHerokuをバックエンドに持ったAndroidアプリを開発した話です。
主に成果物の概要と、振り返り、苦労をただただ書いていきます。技術的な内容は少ないかもしれませんが、Androidアプリ初学者の戯言と思っていただけると幸いです。

# Contents

以下にこの記事内の記述内容について簡単にまとめます。
目次はハイパーリンクになっています。スマートフォンでご覧のかたや、Webブラウザのウィンドウサイズ等で右の目次が表示されていない方はご利用ください。

– [作ったもの](#作ったもの)
– 実際の完成品について記述しています。
– [使った技術](#使った技術)

元記事を表示

ビットコインの日足チャートをPythonとPlotlyでプロットしてみた

今回はPythonとPlotlyを使ってビットコインの日足チャートをプロットする方法についてまとめていきます。

## データ取得
ローソク足のデータはCryptowatのAPIを使って取得します。
取得の方法についての詳細は[APIドキュメント](https://docs.cryptowat.ch/rest-api/markets/ohlc)を参照してください。

“`python
import requests
import json
import pandas as pd
# Bitflyerの円建てBTC価格を取得
res = requests.get(‘https://api.cryptowat.ch/markets/bitflyer/btcjpy/ohlc’)
data = json.loads(res.text)
# resultの下にある「86400」のキーが日足データ
daily_data = pd.DataFrame(data[‘result’][‘86400’], columns=[‘close_time’, ‘open_price’, ‘high_price’

元記事を表示

Seleniumで複数のウィンドウハンドルを扱うときに現れるout of indexエラーを回避する方法

#はじめに
seleniumでウィンドウ切り替え時に生じるエラーに対する対処

#エラー内容
out of index
とか色々

#エラー原因
![.png](https://qiita-image-store.s3.amazonaws.com/0/365928/895627a2-c41f-38bf-f110-d7fbd010bd8f.png)
seleniumで新しいウィンドウを開いたときのフロー
ウィンドウを開いた順にハンドルを取得できればよいが, たまにランダムな順番にハンドルを取得する.

同様の報告が以下にされています.
[PythonでSelenium\_ウィンドウの切替え失敗とその対処について \- アウトプットして苦悩する](http://atc.hateblo.jp/entry/2018/08/07/%23_Python%E3%81%A7Selenium_%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%AE%E5%88%87%E6%9B%BF%E3%81%88%E5%A4%B1%E6%95%97%E3%81%A

元記事を表示

IBM Cloud Code EngineでGithubのプライベートリポジトリからソースを取得するよ

前回、IBM Cloud Code Engine上にGithubのパブリックリポジトリからPythonのStreamlitサンプルプログラムを取得してデプロイする方法を説明しましたが、今回はGithubのプライベートリポジトリからソースを取得するための設定について説明します。

前回記事:[Streamlit PythonをIBM Cloudへデプロイするよ](https://qiita.com/saboten10/items/b55a384445d65128722e)

# Githubプライベートリポジトリからのソース取得
メカニズムはGithub上で自分の公開鍵を登録しておいて、IBM Cloud Code Engine側にはその秘密鍵を登録します。IBM Cloud Code Engine側からはSSHを使ってGithub上のソースを取得する仕組みです。

## SSH鍵の作成
これはすでに自分で作成して持っている人は飛ばしてください。そんなものは作った覚えがないということであれば次の手順で公開鍵と秘密鍵を作成します。
### Macでターミナルを開いて公開鍵と秘密鍵があるか確

元記事を表示

EC2でRayクラスタ作成時にディレクトリをマウント

Rayクラスタ作成用コンフィグファイル(YAMLファイル)で、ファイルマウントの指定ができる。**但し、リモートマシン側(Rayクラスタを起動するマシン上)のディレクトリは`/home/ray`を指定することはできない。**なので`/home/ray/files`というように指定してあげる必要がある。

“`yaml
file_mounts: {
# “/path1/on/remote/machine”: “/path1/on/local/machine”,
“/home/ray/files”: “/home/hogehoge/ray”

}
“`

元記事を表示

EC2でRayクラスタ作成時に、Jupyter Notebookのパスワード設定

Rayクラスター用コンフィグyamlファイルの`head_setup_commands: `欄に以下の行を追加する。

“`yaml:Rayクラスター用コンフィグ
# Custom commands that will be run on the head node after common setup.
head_setup_commands:
– sudo apt-get install -y python3 python3-pip
– sudo pip3 install jupyter
– sudo jupyter notebook –generate-config -y # パスワード設定用のコンフィグファイルを生成
– echo “c.NotebookApp.password=’sha1:***'” | sudo tee /home/ray/.jupyter/jupyter_notebook_config.py # コンフィグファイルにパスワードを設定。「sha1:***」がパスワード。teeコマンドにはsudo要
– nohup

元記事を表示

行列の転置と90°回転

行列$A$の転置と90°回転を求める。

“`math
A = \begin{bmatrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{bmatrix}
“`

“`python
A = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
“`

# 90°回転
結論

“`python
rotate = lambda A: [list(x)[::-1] for x in zip(*A)]

rotate(A) # [[7, 4, 1], [8, 5, 2], [9, 6, 3]]
“`

# 転置
結論

“`python
transpose = lambda A: [list(x) for x in zip(*A)]

transpose(A) # [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
“`

# 結論
zipは便利

元記事を表示

2022 FIFAワールドカップ、日本がワールドカップに出場できる確率(2022年2月2日時点)

## はじめに
まず、この記事を書く前に、2022年2月1日にホームで行われた、日本 対 サウジアラビア、日本がサウジアラビアに、2対0で勝ったことにより、カタールへの道がグッと近くなりました。
さて、2022年2月2日時点での、日本のワールドカップへの出場確率はどのくらいか計算してみることにしました。
まずは、アジア3次予選、グループBの2022年2月2日時点の勝ち点を下記に示します。

## アジア3次予選、グループBの勝ち点表

| |試合数|勝ち数|引き分け数|負け数|得点数|失点数|得失点差|勝ち点|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|サウジアラビア|8|6|1|1|10|5|+5|19|
|日本|8|6|0|2|9|3|+6|18|
|オーストラリア|8|4|3|1|15|6|+9|15|
|オマーン|8|2|2|4|8|10|−2|8|
|中国|8|1|2|5|8|16|−8|5|
|ベトナム|8|1|0|7|7|17|−10|3|

## 2022年3月24日と29日の計6試合をシミュレートするスクリプトを作成する
まだ行

元記事を表示

Scipyでビニング処理

# Scipyを使って簡単なビニング処理

データf(x)が得られたとする。生データの点xが均等でなくて、かつ補間とかはしたくないなあ、という場合にはxをいい感じに区切ってビニングしたい。

「python ビニング」ってググるとpandasを使ったものしか出てこない。しかし私はpandas好きじゃないのでscipyを使う方法をメモ。

“`python
import numpy as np
from scipy.stats import binned_statistics
“`

`scipy.stats.binned_statistics`というのを使う。

## 参考文献
公式リファレンス
https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.binned_statistic.html

元記事を表示

XGBoostのハイパーパラメータをまとめてみた

みんな大好きXGBoostのハイパーパラメータをまとめてみました。

基本的にはリファレンスの翻訳をベースによくわからなかったところを別途調べた感じです。
また調べた結果良い文献もなく不明なままのものもありますがご容赦いただきたく思います。

▼リファレンス
[リファレンス(XGBClassifier)](https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.XGBClassifier)
[リファレンス(parameter)](https://xgboost.readthedocs.io/en/stable/parameter.html)
⇒下記の内容はXGBClassifierについて調べてましたが
 XGBRegressorも基本的に同じ内容かなと思っています。

 
ではさっそくどうぞ。

|No|パラメータ名|概要|デフォルト|選択肢/備考|
|——————:|:——————:|:——————:|:———-

元記事を表示

Django検索で姓と名で分けたフィールドをフルネームで検索させたい

## 概要
Djangoで検索ボックスを作っている時に、姓だけで検索、名だけで検索はできるがフルネームで検索したいという気分だったのでやり方を調べてみました。

モデルについては社員が複数人おり、複数のオフィスに属する可能性があるのでmanyToManyで作成しております。

“`python:models.py
from django.db import models

class Office(models.Model):
name = models.CharField(“営業所名”, max_length=50)
code = models.CharField(“営業所記号”, max_length=10, null=True, blank=True)

def __str__(self):
return self.name

class Employee(models.Model):
employeeNo = models.CharField(
“社員番号”,
null=True,

元記事を表示

ROS2で一つのプロセスに複数のノードを実装する。

この記事は、ROS2での基本的なノードの作成等チュートリアルを完了している人が対象となります。

ROS1では1プロセスに1ノードを動かすのが基本でしたが、ROS2では1つのプロセスで複数のノードを動かすことが出来ます。今回はその方法を記しながら、1プロセスの中に2つのノードが入ったものを作成していきます。
また、その複数のノードをシングルスレッドで動かすかマルチスレッドで動かすかの設定方法も見ていきます。

# 環境
・ROS2: foxy
・Ubuntu20.04
【開発言語】
・C++、Python

# 流れ
・1プロセス1ノードのおさらい
・1プロセス複数ノードの作り方
・シングルスレッド、マルチスレッドの切り替え方

# 1プロセス1ノードのおさらい
1プロセス1ノードの基本的なパブリッシャーのサンプルを下記に記載します。
`publisher_member_function.cpp`

“`cpp
#include
#include
#include
#include

#include “

元記事を表示

[py2rb] 自作ライブラリの関数の呼び出し


# はじめに
移植やってます。
( from python 3.7 to ruby 2.7 )
# 関数 (Python)
“`python:bb.py
def make_qv(x):
return x + 1

qv = make_qv(1)
“`
“`python:main.py
import bb

print(bb.make_qv(2))
print(bb.qv)
“`
“`python:output
3
2
“`
`def make_qv`は`main`と`bb`の双方から呼び出し可能です。
# どうすRuby
“`ruby:bb.rb
module BB
def make_qv(x)
return x + 1
end

qv = make_qv(1)
end
“`
“`ruby:main.rb
require_relative ‘BB’

puts BB.make_qv(2)
puts BB.qv
“`
“`ruby:output
undefined method `make_qv’ for BB:Module

元記事を表示

“cap.get(cv2.CAP_PROP_FPS))” がMontereyでうまく動作しない

動かしたいpythonプログラム

“`python
cap_device = 0 # built-in camera of MacBook Pro 2018
cap = cv2.VideoCapture(cap_device)
print(int(cap.get(cv2.CAP_PROP_FPS)))
“`

出力結果

“`sh:BigSur
30
“`

“`sh:Monterey
NaN
“`

以前までは(BigSurまで)、このプログラムでカメラのfpsが取得できていたのですが、montereyになってから仕様が変更した?ようで、これだと、NaNが出力されてしまいました。

そのため、`cap.set(cv2.CAP_PROP_FPS, 60)`を追加することで解決しました。

“`python
cap_device = 0 # built-in camera of MacBook Pro 2018
cap = cv2.VideoCapture(cap_device)
cap.set(cv2.CAP_PR

元記事を表示

OTHERカテゴリの最新記事