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

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

備忘録1: JPL Solar System Dynamics のAPIの使い方

JPL Solar System Dynamics(SSD)が供給しているAPIの使い方を記しておきます。今回は3体問題の軌道の初期解([JPL Three-Body Periodic Orbit Catalog](https://ssd-api.jpl.nasa.gov/doc/periodic_orbits.html))のデータベース(i.e., $[x_0,y_0,z_0,v_{x0}, v_{y0}, v_{z0}, C, \tau, \lambda]$, $C$: Javobi constant, $\tau$: period, $\lambda$: stability)をJSONファイルに持っていくことがゴールです。

– System (e.g., Sun-Earth)
– Orbit Family (e.g., Halo, North)
– Liberation Point
– Jacobi Constant (range)
– Period (range)
– Stability index (range)

を入力すれば対応する軌道のデータベースを返してくれる[便

元記事を表示

【Python初学者必見】Pythonで作るじゃんけん

最近社内で勉強会を開催しているのですが、Pythonを学習するという方針に決定したので、
第一回の制作物としてじゃんけんゲームを作成しました。

# 完成品

“`main.py
import random
import sys

hand = [‘g’, ‘c’, ‘p’]

input_hand = input(‘自分の手を入力して下さい => ‘)
cpu_hand = random.randint(0,2)

if(input_hand not in hand):
sys.exit()
else:
print(‘相手は’ + hand[cpu_hand] + ‘を出しました’)

my_hand = hand.index(input_hand)
result = (my_hand – cpu_hand + 3) % 3

if(result == 0):
print(‘結果はあいこです’)
elif(result == 1):
print(‘あなたの負けです’)
else:
print(‘あなたの勝ちです’)
“`
# main.py

元記事を表示

LambdaのPythonライブラリ追加にEFSを使ったときのメモ

AWSのLambdaでPythonのライブラリを読み込みたいときに、一番簡単な方法として、ライブラリをzipにしてレイヤーにアップロードするという方法があります。
ただしこれには制限があって、解凍後に500MBまでのファイルしかアップロードできません。
その解決策としては、
1. EFS(Elastic File System)を使う。
2. LamdaをDockerにする。

という方法があります。
ここでは、より簡単な、EFSを使う方法をとった時のメモを残したいと思います(自分がやった時のメモなので、より良い方法があるかもしれません)。

まず、インバウンドルールをタイプ:NFS、ポート範囲:2049にしたセキュリティグループを作ります。
![スクリーンショット 2022-12-07 6.53.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3025503/4780f6ad-b871-f3a4-4517-adaf0c1dbc40.png)
使用するEFSを用意します。
EFSの管理画面にアクセス

元記事を表示

画像からリア充判定をしてみる

# 初めに
みなさんは一度はリア充を爆発させたいと思ったことがあると思います。
とはいえリア充判定はなかなか難しいものです。著者は人といる写真を見るだけでリア充判定してしまうのです。
そこで今回は画像からリア充かどうかを判定してもらい起爆の意思決定に役立てたいと思います。
**※本当に起爆はしないでくださいね**

# 実行環境&使用ライブラリ
– GoogleColaboratry
クラウド上で動かせることができるもの。
– MediaPipe
Googleが提供している画像処理ライブラリ。今回は`face_detection`を使って顔認識を行う。他にも骨格検出である`pose`や手を検出する`hand`がある。

https://google.github.io/mediapipe/

– FER
FERはFace Emotion Recognizerの略のこと。顔から6つの感情をパラメータとして出力する。感情には「恐怖」、「中立」、「幸せ」、「悲しい」、「怒り」、「嫌悪」がある。

https://pypi.org/project/fer/

# 概要
リア充判定には画像を使

元記事を表示

Dataflow で Python の外部パッケージをインストールする

# 背景
Vertex AI Model Registry でバージョン管理しているモデルを使用して並列に予測を行う Dataflow のジョブを作成したくなったが、 Vertex AI の SDK である `google-cloud-aiplatform` が Dataflow ワーカーにインストールされていなかった。

# やりたいこと
Dataflow + Python でバッチジョブを作るときに任意のパッケージをインストールしたい。

ちなみにデフォルトでインストールされるパッケージはジョブの記述に使用している Python と Apache Beam SDK のバージョンによって異なっており、以下からパッケージのリストを参照できる。

https://cloud.google.com/dataflow/docs/concepts/sdk-worker-dependencies#beam-2x-python

`google-cloud-*` 系のパッケージや numpy, pandas などメジャーなパッケージは元からインストールされているものの、上記にないパッケージは自分で

元記事を表示

Pythonのdistrolessコンテナを使って脆弱性を撲滅した話

## はじめに
– AWS ECS+ECRで動いているpythonのサービスがあった
– ただし、ECRのスキャン機能でものすごい数の脆弱性が出ていた…
– 1つずつ解消していくのは現実的ではないため、distrolessコンテナを導入することになった

## distrolessとは
– Googleが提供しているコンテナイメージ
– アプリケーションとそのランタイム依存関係のみ含まれる(=必要最小限)
– パッケージマネージャー、シェルなどは含まれない
– 導入メリットとして、①軽量であること、②セキュアであることが挙げられる

## やったことざっくりと
– 以前は「python:3.9.13-slim-buster」のイメージを使用してビルドしていた
– これを1段階目「python:3.9.13-slim-buster」→2段階目「gcr.io/distroless/python3」のマルチステージビルドにする
– 1段階目
– パッケージをインストールし、コピー用ディレクトリに置く
– コードをコピー用ディレクトリに展開する

元記事を表示

AWS FinchでAmazon LinuxのJupyterLab環境を作ってみた。Lambdaレイヤー作成用にも使える!

# はじめに

FinchでJupyterLab環境作ります。
さらにLambdaレイヤー作成用にも使ってみます。

# 開発環境
– MacBookPro 2018

# Amazon LinuxのJupyterLab環境を作成
1.[Finch-v0.1.0-x86_64.pkg](https://github.com/runfinch/finch/releases)をインストール

2.finchを初期化

$ finch vm init

~~~
INFO[0000] Using default values due to missing config file at “/Users/user/.finch/finch.yaml”
INFO[0000] “/Users/user/.finch” directory doesn’t exist, attempting to create it
INFO[0000] binaries directory doesn’t exist
INFO[0000] Requesting root access t

元記事を表示

Cloud Functionsで文字コードを変換する

本記事は[GCP(Google Cloud Platform) Advent Calendar 2022 7日目](https://qiita.com/advent-calendar/2022/gcp)の記事です。

## 概要

Shift-JISのCSVファイルをBigQueryにアップロードする場合、UTF-8に変換する必要があります。毎回ローカルで文字コード変換していたのですが、めんどくさくなってきたのでCloud Functionsを使って自動化しようと思います。調べると同じような事に課題を感じている人は多くやり方を記述されたブログも見つけましたが自分としてはサービスアカウントなどの設定で結構詰まったのでその辺も調べて書きました。

#### 今回作るもの
* Google StrageバケットにアップロードされたShift-JISのファイルをUTF-8に変換して、別のバケットに保存するもの。
* トリガーはGoogle Strageにファイルがアップロードされた時とする。
#### 今回対象としないこと
* 対象ファイルが大容量の場合
* Cloud F

元記事を表示

Pythonで株価を取得する。

Pythonで株価を取得してみる。
ここではS&P500を例とする。

いきなりだがソースコード

“`python
import sys
from yahoo_finance_api2 import share
from yahoo_finance_api2.exceptions import YahooFinanceError
import pandas as pd

my_share = share.Share(‘^GSPC’)
symbol_data = None

try:
symbol_data = my_share.get_historical(
share.PERIOD_TYPE_YEAR, 2,
share.FREQUENCY_TYPE_DAY, 1)
except YahooFinanceError as e:
print(e.message)
sys.exit(1)

df = pd.DataFrame(symbol_data)
df[“datetime”] = pd.to_datetime(df.t

元記事を表示

顔画像から表情を認識するモデルを動かしてみた!

こんにちは。おもちゃで遊ぶAdvent Calendar7日目です。今回は事前学習済みモデルを使って表情認識をやってみようと思います。
本当はこのモデルを使用して合コン中に相手の表情を取得してやろうと思っていたのですが、モデルが重たすぎてGPUなしでは動かなかったので一旦Google Colaboratoryで動作検証だけしました。

# はじめに
人間の判断とそれほど相違ない結果になってそうでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2952830/f808bf12-c933-55fe-b0a6-228f059bcbd7.png)

ソースコードはこちら↓
https://github.com/Kentea-Watanabe/Facial_Expression_Recognition/blob/main/Demo_Facial_Expression_Recognition.ipynb

# 使うもの
– Yolov5(顔の検出モデル)
– Multi-task Ef

元記事を表示

pyATSでConfigを残すけど残しすぎない?ツール

# はじめに
初めまして
本記事が私の初投稿/初アドベントカレンダー参加になります。
わかりにくい点や見にくいところがたくさんあるかもしれませんが、暖かい目で見てくださると幸いです。

# pyATSを利用してConfigの収集してみた
pyATSを使って簡単なツールを作ってみました。
Configを取得して、前回のConfigファイルと比較して差分がなければ残さないというツールです。
削除がめんどくさくて容量が大きくなるのを防げるなーと思いながら作りました。
コードを見るとバレますが、プログラミングはまだまだ下手糞ですので今後きれいにスマートにしていきたいです。

# pyATSとは
pyATSはCiscoが開発しているネットワーク自動化ツールです。
showコマンドを取ってきたり、それを構造化してとってきたり、Configを入れたりすることができます。
詳しくはほかの方々が詳しく説明してくださっていますので見てみてください!
めちゃめちゃお世話になりました!!

https://qiita.com/tahigash/items/05a2cad4365ec1a47f55

https

元記事を表示

Slackアプリの開発環境について深堀りしてみた:Bolt for Python

今年はSlackの次世代プラットフォームがオープンベータになったということで @seratch が刺激的な記事をpostし続けてくれていますね。
こちらの記事は現行のイケてるSlackアプリ開発用フレームワークである、Bolt for Pythonについて深堀りしていきたいと思います。

昨年の[Advent Calendar](https://qiita.com/advent-calendar/2021/slack)では実際に使ってみた系の記事をpostしていましたが、そこからSlack-SDK及びBoltにもアップデートが(頻繁に)入っていますので、自分の知識のアップデートも兼ねて、深堀りしていきたいと思います。

なぜそんなことを思ったかといいますと、先日書いたこちらの記事のように、昔はなかったけど、今はBoltが自動的にハンドリングしてくれますよみたいなアプデが入ってるからです!

https://qiita.com/geeorgey/items/eff73ea4c045ef4633d1

単純にリリースノート読み込んでないだけだろと言われてしまうとそのとおりなのですが、反省し

元記事を表示

Google Colaboratory+OpenCVでWebカメラ画像からリアルタイム顔検出

# はじめに

この記事は下記の**リアルタイム動作版**です.一部の説明を省略しています.

https://qiita.com/uranishi/items/85184baf1df33192e00a

# 本記事のコードが書かれているColabノートブック

本記事のコードは下記のノートブックでも公開されています.

https://colab.research.google.com/drive/17zBbdEf6AkBnkOgfKYMPovRg-eetqv-m?usp=sharing

# 動作環境

2022.11.25時点の最新版です.

– Google Colaboratory https://colab.research.google.com/
– MacBook Air (M2, 2022)
– Chrome 107.0.5304.121(Official Build) (arm64)

# コードの紹介

本記事では,Google Colaboratory (以下Colab) でWebカメラをリアルタイムキャプチャし,フレームごとに`dnn`モジュールにより顔検出を

元記事を表示

a

元記事を表示

non-pure-Pythonの外部モジュールをLambda上で扱うのに苦労した話

# はじめに
こんにちは、GxPの@ttanaka-gxpです。
この記事はグロースエクスパートナーズ Advent Calendar 2022の7日目です。

Serverless Frameworkを使ってnon-pure-Pythonの外部モジュールを含んだPythonアプリをデプロイした際に苦労した話です。
ハマりどころがあるというのは認識していたので覚悟はしていたのですが、思った以上に時間を取られてしまいました…
その分、勉強にはなったので自分の中での整理も兼ね、今回記事にさせて頂きます。

# やりたかったこと
RDS for SQL Serverに保存している基幹データに対し、関連システム向けに参照用途でのデータ連携の仕組みを構築したいというのが要件としてあり、API Gateway+Lambda+RDSの構成でデータ参照のAPIをPoCとして構築することになりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/942766/0907b6cb-c0ea-6ccc-552

元記事を表示

アカデミアポッター 不死鳥の博士学生

この記事は[闇の魔術に対する防衛術](https://qiita.com/advent-calendar/2022/yaminomajutu)7日目の記事です。

Qiitaではご無沙汰しております。青ポス([@bluepost125](https://twitter.com/bluepost125))です。年々闇の魔術のキレが落ちていましたが、今年は飛び切りのネタが入荷したので書いておきます。

:::note info
この記事を特に読んでほしい人
* B4や修士で研究に行き詰っている人
* 修士を修了して博士に行くか就職するか迷っている人
:::

# 経緯
5年ほど前にアカデミアに囚われていた人です。この後囚われの身から解放されますが、実はこの度再びアカデミアに戻ることになったので、体験談を書いておきます。

過去作:若さゆえの過ちでかなり独りよがりな文書ですが、戒めとして残しておきます。

https://qiita.com/bluepost59/items/a08c0eb0a57f8b28abdf

# 前編:懺悔と教訓
学生時代、自分は典型的な[モヒカン](https:

元記事を表示

RealSense D435で300fpsのDepth画像を取得すーる(Python 3.6)

# はじめに
300fpsのDepth画像を取得していきます

# システム環境
– Intel.RealSense.SDK-WIN10-2.49.0.3474.exe
– librealsense-2.49.0
– Python 3.6

# RealSense Viewer

– 1280 x 720 15fps RGB Depth IR Stereo
– 848 x 480 60fps RGB IR Stereo
– 640 x 480 60fps RGB Depth IR Stereo
– 848 x 100 300fps Depth IR Stereo
– 256 x 144 300fps Depth

|Resolution|RGB|Depth|FPS|
|:–|:–|:–|:–|
|256 x 144|-|○|300(○ Depth, x IR1, x IR2)|
|320 x 180|○|-|60|
|320 x 240|○|-|60|
|424 x 240|○|○|60, 90(○ Depth, x IR1, x IR2)|
|480 x 270|-|○|90

元記事を表示

ワイ「Pythonista3 のscene モジュールを紹介するんだよ?」

## Pythonista3 Advent Calendar 2022 の7日目の記事を書き始めるワイ

ワイ「まずは書き出しのテンプレからやな、、、」カタカタ、、、

– – –
この記事は、[Pythonista3 Advent Calendar 2022](https://qiita.com/advent-calendar/2022/pythonista3) の07日目の記事です。

https://qiita.com/advent-calendar/2022/pythonista3

一方的な偏った目線で、Pythonista3 を紹介していきます。

ほぼ毎日iPhone(Pythonista3)で、コーディングをしている者です。よろしくお願いします。

以下、私の2022年12月時点の環境です。

“`sysInfo.log
— SYSTEM INFORMATION —
* Pythonista 3.3 (330025), Default interpreter 3.6.1
* iOS 16.0.2, model iPhone12,1, resolution (p

元記事を表示

【API】今すぐ遊べるAPI 5個!

![ezgif.com-gif-maker.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2290515/3372369e-65a2-46f8-6aa5-9146e3d77518.gif)

{導入}

# APIとは

APIとは「Application Program Interface(アプリケーション プログラミング インターフェイス)」の略称で、2つのアプリケーションやソフトウェア同士が情報をやり取りする際に使用される窓口です。

APIの種類は複数ありますが、ここではインターネットを経由するWeb APIを紹介します。

https://cloudapi.kddi-web.com/magazine/twilio-sms/what-is-api

## パラメータ
APIにおいては基本的にPath Parameter(パスパラメータ)とQuery Parameter(クエリパラメータ)の2種類が存在します。どちらもURIで送信するものです。

例えば、Google検索の場合
“`
https

元記事を表示

コムドットのヤマト風のTwitterつぶやきを自動生成してみようと思った

# 初めに
[myjlab advent calender 2022](https://qiita.com/advent-calendar/2022/myjlab) 7日目を担当する3年の浦です。

GPT-3について書こうとしたのですが、昨日[yoshiki495](https://github.com/yoshiki495)にChatGPTについて書かれ絶望の淵にいました、、、

何についてやるか考えたところ、機械学習演習で自然言語処理をしていこうと思います。

下記の動画を参考にしTwitter APIを使用したマルコフ連鎖に挑戦し、コムドットのヤマトになろうと思います。