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

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

PyG (PyTorch Geometric) で Adversarially Regularized Variational Graph Auto-Encoder (ARGVA)

グラフ構造を深層学習する PyG (PyTorch Geometric) を Google Colaboratory 上で使ってみました。今回は、Adversarially Regularized Variational Graph Auto-Encoder (ARGVA) を使うことがテーマです。

# PyG (PyTorch Geometric) インストール

PyG (PyTorch Geometric) のレポジトリは https://github.com/pyg-team/pytorch_geometric にあります。また、コードはチュートリアルドキュメント https://pytorch-geometric.readthedocs.io/en/latest/index.html を参考にしています。

“`python
import os
import torch

torch.manual_seed(53)
os.environ[‘TORCH’] = torch.__version__
print(torch.__version__)

!pip install

元記事を表示

機械学習に必須の「Python」が最短で身につく学習手順とコンテンツの紹介

第 3 次 AI ブームと呼ばれている現在では、AI(人工知能)に関する技術が注目を集めています。このブームの中心となっているのが、機械学習と呼ばれている技術です。そして近年、機械学習を実装する際に用いられる最も人気があるプログラミング言語が「Python」です。

本ブログでは、機械学習の概要と Python が機械学習の実装に使われる理由を解説します。また、Python スキルを身につけたい方に向けて、Python の学習手順とおすすめの学習コンテンツについて紹介します。この記事を読めば、自動車の自動運転や顔の自動分類など、AI の最新技術にも使われている Python についての理解が深まるはずです。

<目次>
1.機械学習とは
2.なぜ Python が機械学習に用いられるのか
3.機械学習で実現できること
4.Python を身につけるための学習手順
5.Python を学習するのに最適なコンテンツ
6.まとめ

# 1.機械学習とは
この項目では、まず、機械学習がどのようなものか紹介します。さらに、機械学習と一緒に語られることが多い AI、ディープラーニング(深層学習)と

元記事を表示

KDDIの障害の時、一瞬でも回線が復旧していたのか、調べる(失敗したよ)

こんにちは。
前回の記事で、結構とがったこと書いちゃったから **「じゃあお前は何が作れるんだよ」** って言われるかと思って、色々考えました。

https://qiita.com/yukie-t/items/c511112e40a1b3f872a9

というわけで、今回は実務でも個人でもあまり使わないPythonで、先日のKDDIの大規模障害について見て行きたいと思います。**といっても厳格な調査とかじゃなくて、TwitterAPIを使って、あの時、誰が、どれだけ「回線繋がっている」って呟いていたのか見るだけです。**

###### ※先に結論から言うと、**「タイトル」のことは出来ませんでした。**
TwitterAPIの権限の問題です、多分。7日前までしか遡って取得できない。

# KDDIの大規模障害について
まあ、失敗したけれど、とりあえずやったことを振り返ります。

https://www.kddi.com/

トップページに概要と謝罪文があります。
ざっくりというと、

・2022年7月2日 (土) 01時35分より通信障害発生
・復旧の最終確認は2022年7月5日

元記事を表示

CloudWatch Syntheticsを使用してAPI監視を実現する

# はじめに
本記事はAWS環境でCloudWatch Syntheticsを使用して、API監視を行うための方法について記載しています。

クラウド環境におけるシステム監視を行うためには、クラウドを提供するサービスプロバイダーによってビルトインされたモニタリングシステムや、Datadogなどサードパーティ製ツールを使用するなどの手段があります。

AWSではモニタリングシステムとしてCloudWatchが無料で利用できます。
Syntheticsの監視についてもサードパーティ製ツールを使用せずに、コストを下げてAWSでインテグレーションしたモニタリングシステムを構築できます。

一見便利そうなSyntheticsですが、仕様が分かりにくかったり、痒い所に手が届かない部分もあります。
本記事ではSyntheticsを使ってたナレッジについてまとめました。

## CloudWatch Synthetics
日本ではAPIなどエンドポイントに対する監視のことを外形監視といった表現が多いですが、AWSはDatadogと同じ**Synthetics**と呼び、CloudWatchの**Syn

元記事を表示

Python のエラーメッセージを日本語表示する「etupem」

Pythonista の皆さんはじめまして。私はふだんは Ruby ばかり書いている根っからの Rubyist なのですが、わけあって Python に触れることになったので、せっかくだから Python で何か作ってみようと思いました。

そこで、Ruby で私が作ったものの一つに「[Eturem](https://qiita.com/nodai2h_ITC/items/9d49c3b291793a1fcd45)」というエラーメッセージを初心者向けに日本語で表示する gem(Python で言うところの pip)があるので、その Python 版である「[etupem](https://pypi.org/project/etupem/)」というものを作ってみました。

# はじめに

Python でも Ruby でも他のプログラミング言語でも、「エラーへの対処」は初心者にとって難しく、挫折を生みやすいところの一つだと思います。

特に初心者にとっては、エラーメッセージが英語で表示される時点でハードルが高くなってしまいます。TypeScript のようにエラーメッセージを日本語で表示

元記事を表示

[python] sphinxでドキュメント生成

# はじめに
sphinxとはpython製のオートドキュメンテーションツールである。
知的で美しいドキュメントを簡単に作れるらしい。(公式談)
今回初めてsphinxを使って文書を作成してみたので、インストールからビルドまでの流れを簡単にまとめておく。

# 環境
|OS|Python Ver|
|—|—|
|Windows10|3.10.5|

# sphinxパッケージのインストール
仮想環境を立ち上げて、環境内にインストールした。

“`
(.venv) pip install sphinx
“`
これで、最低限としてsphinxパッケージのインストールはOK
Read the Docsのテーマが使いたいなら追加で`sphinx-rtd-theme`を、バージョンごとのドキュメントを作りたい場合は`sphinx-multiversion`をそれぞれ適宜インストールする。
“`
(.venv) pip install sphinx-rtd-theme sphinx-multiversion
“`

# sphinxプロジェクト作成
現在、ディレクトリ構成は以下のよ

元記事を表示

ABC261 A~D問題 ものすごく丁寧でわかりやすい解説 python 灰色~茶色コーダー向け #AtCoder

ABC261(AtCoder Beginner Contest 261) A~D問題の解説記事です。
灰色~茶色コーダーの方向けに解説しています。

その他のABC解説、動画などは以下です。

更新時はツイッターにて通知します。

https://qiita.com/sano192/items/54accd04df62242b70f0

# A – Intersection Dif:51

https://atcoder.jp/contests/abc261/tasks/abc261_a

いくつかパターンを作って眺めてみましょう。
![ABC261_A_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700383/f797b844-cf7f-c883-af0c-6b3763376259.png)

赤、青両方で塗られた長さというのは
・赤、青で塗られた範囲の左端のうち、より右にある方
 ⇔L1,L2のうち大きい方
・赤、青で塗られた範囲の右端

元記事を表示

PythonからSlackに通知

PythonからSlackに通知を投稿。
ものすごく簡単だった。

# 1. WebHookを追加する
Slackの「App」から検索し、「Incoming Webhook」を表示。「追加」をクリック
![WebHook追加.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389667/abf9b2d2-a0c4-76e2-63c4-f5aa06f2a7ac.png)

# 2. 次の画面で「Slackに追加」をクリック
![WebHook追加2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389667/04d1e103-0ec1-326f-641d-be34a732814c.png)

# 3. チャンネルを選択し、Incoming Webhookインテグレーションの追加をクリック
![WebHook追加3.png](https://qiita-image-store.s3.ap-northeast-1.amazon

元記事を表示

INFORMATION_SCHEMAを活用してテーブル/ビューの最終アクセス日を確認する

BigQueryに作成されるテーブルは放置するとデータ保存必要がどんどん膨らむ。
そのため、テーブルの最終アクセス日を確認するクエリを作成。
プロジェクト横断して結果確認できるように組織権限が必要だったのと
データフレーム化のためにセッション権限が必要だったところがちょっと苦労した。

# 前提条件

to_dataframeを実行するときに、readsessions権限が必要。
次の1、2のいずれかで権限を付与しておく。
1. 権限を個別指定する場合、次の3つを付与
– bigquery.readsessions.create
– bigquery.readsessions.getData
– bigquery.readsessions.update

1. 下記基本ロールのいずれかを付与
– BigQuery 読み取りセッション ユーザー
– BigQuery ユーザー
– BigQuery 管理者

また、プロジェクトを横断してINFORMATION_SCHEMAを参照するため
組織権限で次の権限を付与したロールを作

元記事を表示

VSCodeでPython書いてる人はとりあえずこれやっとけ〜

## はじめに
Pythonはコードが汚くなりがち(個人的にそう思う)
そんなPythonくんを快適に書くための設定を紹介します。

## 拡張機能編
ここでは **Pythonを書きやすくするため** の拡張機能を紹介していきます。

### 1. Error Lens
image.png

#### before
「コード書いたけど、なんか波線出てるよ?」
記述に問題があった場合、デフォルトでは波線が表示されるだけ。。。
image.png

元記事を表示

【図解】ニューラルネットワークって?Part02【初心者向け】

# YouTubeでも公開中
この記事の内容は動画で見ることもできます!

前回の続きです。

前回は、ニューラルネットワークの基礎を解説しました。
この内容をベースとして、ニューラルネットワークの中の動きについて、もう少し詳しく解説していきます。

内部の動きを理解するために、まず、ニューラルネットワークに入力される画像がどうなっているのかを知っておきましょう。

# 画像の構成要素

![main-nn02 (0-02-15-23).jpg](https://qiita-image-store

元記事を表示

Cloud Functions のローカル環境開発(Pub/Subからの受信)

Cloud Functions でPub/Subから引数を受け取って発火する関数を
ローカルで作成したのでメモ

# 環境
– Ubuntu 22.04LTS
– python 3.10.4

# 準備
“`bash
$ pip install functions-framework
“`

# 流れ

1. main.pyを作成
1. ターミナル(A)でfunctions-frameworkを起動する
1. 別のターミナル(B)を立ち上げ、curlコマンドでイベントを発行
1. ターミナル(A)に、main.pyで処理された結果が表示される

# 詳細
### 1. main.pyを作成する

“`bash
.
└── main.py
“`

“`python:main.py
# [START functions_helloworld_pubsub]
# 関数 hello_pubsub に、event と context という2つの引数がPub/Subから渡される。
# 構造はコメントに書いてある構成になっている。
def hello_pubsub(event, cont

元記事を表示

CO2センサー(MG-812)を買ったので、CO2濃度測ってみた

秋葉原の秋月電子通商さんで以下のCO2センサーを売ってたので、買ってみた。
https://akizukidenshi.com/catalog/g/gK-16446/

ブレッドボードに差して、arduinoにつなぐ所までは順調。
5VとGNDとA0をそれぞれ繋ぐだけ
arduino

問題は、センサーから来るアナログデータをどう二酸化炭素濃度にするかわからないという・・・
(公式には計算式など無くイケて無いグラフだけ・・・)

なので先ずCSVデータをグラフから目と手で主観的に作ります?
graphAirflowの日時関連概念おさらい

このところAirflowについて公式資料を読んできた中で、重要概念としてしばしば登場した各種の日付概念をおさらいしておきます。

# データ区間(data interval)

ワークフロー(DAG)の実行中に処理対象となるデータの区間(期間)。
バッチ処理の対象となるデータを特定するための情報。
開始日時(data_interval_start)と終了日時(data_interval_end)で示される。

例えば一日ごとに起動するワークフローならば、
「今回」`2022-07-23 00:00:00`に起動した回のデータ区間は `2022-07-22 00:00:00` から `2022-07-23 00:00:00`、
次回のデータ区間は `2022-07-23 00:00:00` から `2022-07-24 00:00:00`、
次次回のデータ区間は `2022-07-24 00:00:00` から `2022-07-25 00:00:00`、
・・・と推移する。

タスクやオペレーターのPythonコードでは`context`オブジェクトを使ってこれらの日時情報を

元記事を表示

(備忘録)M1 Macにおけるpyenvを用いたPython環境構築

# はじめに
本稿では表題のとおり、M1 Macにおいてpyenvを用いたPython環境構築の方法を解説する。
筆者が用いたPCのスペックは下記のようである。
* MacBook Pro (14インチ、2021)
* チップ Apple M1 Pro
* メモリ 32 GB
* OS macOS Monterey

# なぜ本稿を書くに至ったのか
上記の新しいMacBook Proを購入する以前は、MacBook Air (Early 2015?) を使っていた。データをまるまる新しいMacBook Proに移すことも可能であったが、今回は新しいPCの環境を一から作り直したいという思いがあったので、データ移行は行わなかった。
新MacBook Proを起動、大学のインターネット接続、Proxy設定、VPN接続、Chromeのインストール、セキュリティソフトウェアのインストール……などの設定は滞りなく進んだ。
筆者はPythonユーザーであるため (筆者の他の記事をぜひご覧ください)、新しいMacbookにおいてもPython環境を構築しておきたかった。しかし、ここで今まで出くわすこと

元記事を表示

PyG (PyTorch Geometric) で Graph Autoencoders (GAE) と Variational Graph Autoencoders (VGAE)

グラフ構造を深層学習する PyG (PyTorch Geometric) を Google Colaboratory 上で使ってみました。今回は、Graph Autoencoders (GAE) と Variational Graph Autoencoders (VGAE) を使うことがテーマです。

# PyG (PyTorch Geometric) インストール

PyG (PyTorch Geometric) のレポジトリは https://github.com/pyg-team/pytorch_geometric にあります。また、コードはチュートリアルドキュメント https://pytorch-geometric.readthedocs.io/en/latest/index.html を参考にしています。

“`python
import os
import torch

torch.manual_seed(53)
os.environ[‘TORCH’] = torch.__version__
print(torch.__version__)

!pip install

元記事を表示

Julia vs Python 速度比較

### 結論) 単純演算で約5.6倍(コンパイル含む)。

#### マシンスペック
– Mac mini (2018)  
– 3.2 GHz 6コアIntel Core i7  
– 64 GB 2667 MHz DDR4  

“`Julia
# Julia 1.7
a =0
@time for i in 1:100000000
global a = π/π/π
end
println(a)
# 2.984761 seconds
#0.3183098861837907
“`

“`Python
# python 3.7
import time
import math

a =0
startTime = time.time()
for i in range(100000000):
a = math.pi/math.pi/math.pi
print(time.time()-startTime)
print(a)

元記事を表示

自分用メモ pandas, openpyxl基本

**データフレームにする**
pd.read_excel(“ファイルパス”)
pd.read_csv(“ファイルパス”)
**別シートに出力**
with pd.ExcelWriter(“hoge.xlsx”, mode=”a”) as writer:
df.to_excel(writer, sheet_name=’キーワード’)

元記事を表示

python 3.10をAWS EC2にinstallする上ではまったこと

## python 3.10がinstall listに表示されない
pyenvでpythonのversion管理を行なっている場合pyenv自体をアップデートしないとpython 3.10が表示されません。

pyenv-updateというパッケージをinstallしてpyenvのバージョンを最新にしましょう。

https://github.com/pyenv/pyenv-update

“`
$ git clone https://github.com/pyenv/pyenv-update.git $(pyenv root)/plugins/pyenv-update
“`

install後このコマンドを実行

“`
$ pyenv update
“`

そうするとpython 3.10がinstall listに表示されるようになるはずです!

“`
$ pyenv install list
“`

## Openssl11が必要

python 3.10からはEC2環境にinstallするにはOpenSSL1.1.1が必要になります。
これが地味にハマりど

元記事を表示

Seleniumの通信ログを確認したい(on AWS Lambda)

# 自動化っていいですよね
ブラウザ操作を自動化してくれる「Selenium」。
テストやスクレイピングなどで使われている方も多いかと思います。
便利なんですが、エラーが起きた場合にその原因が分かりにくいな、Seleniumがどんな通信を行っているのか確認したいな、と思うことも。
この記事ではSeleniumの通信内容を簡易的に取得する方法を検証します。

# この記事のゴール
1. コンテナ形式のAWS LambdaにてSeleniumを動作させる
1. Seleniumの通信ログ(HTTP/HTTPS)を確認する

# 前提および注意事項
* 開発環境としてAWS Cloud9を使用します
Cloud9の環境には予めDockerやAWS CLIなどがインストールされているため、それらのインストール手順は本記事では触れていません。
また、デフォルトのディスク容量だとすぐに不足するため、本記事の内容を検証した際は30GBに拡張しています。
* コンテナ形式のAWS Lambdaで動作確認を行っています
Lambdaは実行時間やメモリなどに応じて課金されますが、本記事の内容を実行する場合

元記事を表示

OTHERカテゴリの最新記事