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

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

P2P Webブラウザを作ってみた

# P2P Webブラウザ

P2Pの練習でP2P Webブラウザを作ってみました。

* [narupo/p2pweb: P2P Web Browser](https://github.com/narupo/p2pweb)

![p2pweb.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41479/157368b8-1538-4699-e0b2-949ca1ad544d.gif)

# ブラウザの名前

PW Browserです。
P2P Web Browserの略です。

# PW Browserで出来ること

ブラウザはコンテンツの閲覧と配信を並行して行います。
そのためパソコンとブラウザがあればWebサイトの公開と閲覧を両方行えるようになります。

ネットワークはP2Pネットワークで構築されるのでP2PなWeb世界と言うことができると思います。
ただしブラウザを閉じるとコンテンツの配信も止まるのでその辺はブラウザを起動しっぱなしにする必要があります。

ただこれらの話はまだ理論上の話で実際に複

元記事を表示

【可視化グラフの種類】平行座標プロット

:::note info

メーカー研究開発に携わるプログラミング初心者が学んだことを必要最小限にまとめた記事です。
:::

# 平行座標プロット
派手で見栄えするので使えたらかっこいい。

## 何を表現できるか
多変量間の関係性を表現できる。正の相関が見られる場合は線の交差が少なく、負の相関が見られる場合は線の交差が多くなる。また、グループごとの傾向を表現することにも適する。

## Pythonコード
まずはseabornよりアヤメ(iris)データセットをインポートする。
“`python
#seabornのirisデータセットをインポート
import seaborn as sns
iris = sns.load_dataset(‘iris’)
iris.head()
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2603818/ac1f204e-ecf7-f53a-2a42-cbe1178baaf5.png)

アヤメデータをplotlyで平行座標プロットする。

元記事を表示

pandas to_csv OSError: [Errno 22] Invalid argument to use open(

“`
pip3 install –upgrade pandas
“`

元記事を表示

【PyTorchによる発展ディープラーニング 第2章】疑問点まとめ

## はじめに
[AcademiX](https://www.academix.jp/)では「[つくりながら学ぶ! PyTorchによる発展ディープラーニング](https://book.mynavi.jp/ec/products/detail/id=104855)」を参考書とした勉強会を行っています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1734810/43bbdafe-c8ae-4ac6-baba-a6678cc995b7.png)

その勉強会において、本書の第2章「物体検出 SSD」を読んで、疑問点や理解するのに苦労した点がいくつかあったので、その解説をまとめました。

ただし、本記事はSSDの解説記事ではないのでご注意ください?
あくまで本書 第2章の補助資料としてご活用ください。

また、本書の[Github](https://github.com/YutaroOgawa/pytorch_advanced)が公開されているので、本書を持っていない方はそちらを参照し

元記事を表示

Djangoで画像が表示されない原因【urls.pyが間違っていた】

無駄にハマったので記しときます。

Next.js と Djangoでアプリを作っていて、画像を表示しようと思った時にハマりました。

人によって原因は違うと思いますが、僕は

“`python:urls.py
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
“`
この記述を間違った`urls.py`に記載していました。

というのも、

・app
 ・urls.py
・project
 ・url.py ←こっちに記載しないといけなかった。

というだけでした。

なので、最終的に以下のように書いたら画像が表示されました。

“`python:urls.py
urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘api/’, include(‘app.urls’))
]

urlpatterns += static(settings.MEDIA_URL, document_root=settings.M

元記事を表示

Airtest+Pocoの自動化でのアプリとのデータの受け渡し方法

# はじめに

初めまして、QualiartsでUnityエンジニアをしている たなひろ と申します。最近はAirtest+Pocoを使って[IDOLY PRIDE](https://idolypride.jp/)などの自動化に取り組んでいます。本記事では、自動化でPocoの操作のみでは対応できない状況で、RPCを使った自動化処理の方法について紹介します。

本記事は[QualiArts Advent Calendar 2022](https://qiita.com/advent-calendar/2022/qualiarts) 14日目の記事になります。

# Poco
自動テストを行う際、Pocoを利用してテストを行っている所は多いかと思います。PocoではUnityEditorのHierarchy上のObjectを指定して、Clickなどの操作をすることができます。しかし、その場合でも、時にはうまくテストができないようなことが起きて困ったことはないでしょうか。

例えば
・アプリを起動したときに、特定のサーバに接続してテストしたい
・今テストでどこまで進んだのかを判別したい
こん

元記事を表示

SQLAlchemy の joined loading (eager loading) の動作を確認。N+1問題を倒す。

# はじめに
先日、N+1 問題による web API のスループット低下に直面しました。(私は 1+N と呼びたいが、以降 N+1)
N+1 問題の解決方法の1つに eager loading (SQLAlchemy では joined loading)が有効な手段の1つであることを知りました。
joined loading がどのような動きをするのか調べてみたいと思います。

# N+1 問題 とは
リレーションが貼られている2つのテーブルのデータをORMを利用して取得した際に引き起こされる、スループット低下問題として知られているそうです?

ex. Post に対するいいね情報を取り出す
– Post テーブル と いいね テーブルにリレーションがはられている
– Post の一覧を取得するのに、1回のクエリが投げられ、N個のPostオブジェクトを取得
– N個のPost オブジェクトからいいねの情報を取得する際に、N回クエリが投げられる

# joined loading とは

今回確認する対象の joined loading とは、 relationship のロード方

元記事を表示

Delphi のフォームを Python から使う方法

# はじめに
Delphi を使って Python の GUI を簡単に作成できるようなので、実際に試してみました。
以下に Jim McKeeth 氏の LearnDelphi 動画およびスライドの説明があります。今回はこれを元にインストールとサンプルを実施します。(今のところ他にこの情報は少ないようです)

https://learndelphi.org/ja/how-to-make-superb-python-gui-apps-using-delphivcl/

この LearnDelphi は part1 と part2 に分かれていて、それぞれ VCL と FMX を使った説明になってます。
基本的な操作方法は同じのため、本記事ではまとめて記載します。

・part1 DelphiVCL

Введение в разработку графического пользовательского интерфейса Python с помощью Delphi для Python (VCL и FMX)

・part2 DelphiFMX

https://blogs.embarcadero

元記事を表示

cv2.VideoWriter で作成した mp4 ファイルを jupyter notebook で見る方法

# 概要
表題の通りです。結論から言うと動画保存時のコーデック `VP90` を指定して `IPython.display.Video` を使うと見れます。

実行環境

– python: `3.7.3`
– jupyter: `1.0.0`
– ipython: `7.34.0`
– opencv-contrib-python-headless: `4.6.0.66`

# モチベーション
リモートサーバーで動画ファイルを生成した際に `scp` でローカルサーバーに落として確認していたが、サーバー上で作業を完結させたい。

# cv2.VideoWriter で作成した mp4 ファイルを jupyter notebook で見る方法
動画を保存するときのコーデックを `VP90` で指定します。
“`python
import cv2

fourcc = cv2.VideoWriter_fourcc(*’VP90′)
# save_path, fps, video_size は適当に指定する
w

元記事を表示

毒きのこの判定アプリをつくってみました

# はじめに
 AidemyのAIアプリ開発口座の課題で、キノコ判定の画像アプリを作成しました。
 去年から山登りを始めたのですが、山に行くようになって初めて
キノコや野草の毒を注意する看板に気づきました。
 山登りする人が、毒と食べられるものを判定できたらいいな、とつくってみることにしました。 
 今回は、野草よりもキノコ狩りの人口の方が多そうなので、
キノコの判定にしました。

### 実行環境
Goole Coraboratory
Visual Studio Code

# データ収集
 まずはキノコの画像収集です。キノコのオープンデータセットも
公開されていたのですが、海外のものしか見当たらず、
日本のキノコに特化した方が実用度が高い(自分にとってですが)ので、Google画像検索から収集することにしました。

### データを地域で絞る
でも、キノコといっても膨大な種類がありすぎてどの基準で選べばよいのか迷います・・
そこで、はじめに地域を絞ってみることにしました。
関東近辺の山々を想定し「関東 きのこ」で検索すると、
栃木の山登りサークルの方のブログがヒットするだけです。

元記事を表示

PythonでGoogle Cloud Data Catalog APIを使ってみた(前編)

## はじめに
Google Cloud Data CatalogからPythonを使ってデータを抽出する機会があり、詰まったところ、TIPSなどをまとめてみました。

## Data Catalogを使って何をするか
今回使用した Data Catalogの機能面をGoogleのサイトから拾ってみました。
>フルマネージドでスケーラビリティの高いデータ検出およびメタデータ管理サービス。
>Data Catalog は、さまざまな Google Cloud システムからアセット メタデータをカタログ化できます。
>Data Catalog API を使用して、カスタム データソースと統合することもできます。
>データをカタログ化したら、タグを使用してこれらのアセットに独自のメタデータを追加できます。
![Summary.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053020/e2f4664e-34bb-da94-14d2-28ee123a9574.png)

組織が大きく、データが増えるほどに以

元記事を表示

自動化でお絵かきアプリを使って簡単なイラストを描いてみた

AIQVE ONE Advent Calender14日目を担当する@mmk_fです。

今年の2月頃に社内で開催されたイベント「自動化コンテスト」に参加し、
お絵かきアプリを使って自動で簡単なイラストを作ってみた時のお話しをしたいと思います。

# 自動化コンテストとは?
自社の[自動化ツールGarbo](https://www.aiqveone.co.jp/news/2022/491/)(言語はPython)を使って自動化を組んでみよう!というコンテストです。
テーマは「おもしろい自動化」。
ただ適当に自動化を組めばいいということではなく、
目的を持った自動化と、作成した自動化のおもしろさを競い合う楽しいイベントです。

・自動化コンテストの詳細はこちら
https://qiita.com/mi_373/private/85132416af540e63d9bd

# 用意したもの
・Garboが使用できるPC
・Android端末
・市販のゲームアプリ
・発想力
・闘志

# 試行錯誤あれこれ
### 作戦①
最近のスマホゲームの目玉と言えばやっぱりガチャだな、ということで
自動

元記事を表示

冪等なノートブック

3年くらいデータサイエンティストをしています。仕事柄いろいろな環境でPythonを使うのですが、Jupyter Notebookなどノートブック形式のものを触ることも多いです[^notebook]。

[^notebook]: 分かりやすいところだとGoogle ColabやKaggle Notebookは使っている人も多そう。databricksや、各種クラウドにもSagemakerなど該当するサービスがある。Python以外だと、jupyterのjuはjuliaのjuだし、Rにも(Rmarkdownとは別に)R Notebookがあるし、マイナーどころだがStataにも3年前くらいにNotebook機能がついている。

そんななかで、なんとなく意識している「ノートブックの冪等性」について書いてみます。

# 冪等とは何か
読み方は「べきとう」で、漢字が難しいので「べき等」と表記されることも多い。英語だと「idempotent」という超キュートな単語である。

雑に説明すると、冪等とは**ある操作を何回行っても結果が同じである**ことをいう。数式で書くと、以下が成り立つとき $f$

元記事を表示

Cloud9でseleniumを動かしてみた

:::note info
この記事は、[カサレアル Advent Calender 2022](https://qiita.com/advent-calendar/2022/casareal) の14日目のエントリです。
:::

# Cloud9でseleniumを動かしたいですよね?

* はい?
* はい

というわけで、なるべくシンプルに、コピペでおkというスタンスでを書きました。

とりあえず動かして気持ちよくなりたいって方にオススメかもしれません、たぶん?

~~まあ、50番煎じくらいのネタかもですが???~~

# 環境準備

#### 1\. デフォルト設定でCloud9を作成

![selenium1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2958741/8e68d47e-4fd0-a124-6d72-17dc60597d48.png)
適当な名前を付けてCloud9を作成します。
お好みで設定してもいいですが、今回はデフォルトで作成しました。
作成したらCloud9

元記事を表示

【ついに彼女ができました】Xmasまでに絶対に彼女を作りたい!

こんにちは。おもちゃで遊ぶAdvent Calendar14日目です。

Xmasまでに絶対に彼女を作りたい!記事の続きになります。
今回は、DCGANを使用して画像生成を行います。
コードは[PyTorchチュートリアル](https://torch.classcat.com/2021/04/16/pytorch-1-8-tutorials-beginner-dcgan-faces/)のコードを使用させていただきました。
データ収集編はこちらです。

https://qiita.com/Kentea/items/790095b6ad58e18334a0

# 前回までの振り返り
左側が入力画像で、右側の画像がDCGANで生成した彼女たち
入力画像がノイズだらけだからかあまり精度が出なかったです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2952830/e8c2a48a-21b7-2615-8e64-05d44b7e41bd.png)

なので今回は画像の前処理を行い、データセッ

元記事を表示

機械学習の実験サイクルを2倍にする3つの要素と工夫たち

この記事は朝日新聞社 [Advent Calendar 2022](https://qiita.com/advent-calendar/2022/asahi)の第14日目の記事です。
毎日、朝日新聞社のエンジニアがバラエティに富んだテック記事をお届けしております!

本日はメディア研究開発センターの松山が、機械学習の実験サイクルを早める工夫についてお届けします!

### 機械学習の実験は、時間がかかりますよね?
初めまして、9月から機械学習に本格入門した松山です。
機械学習を行う際、学習にかかる時間を有効活用できなかったり、コーディングに時間がかかってしまうといった悩みはありませんか?私はそうでした。
そんな私が先輩に相談しながら試行錯誤して辿り着いた、__2倍ほど実験のサイクルが早まった方法__ をお伝えします。

本文は、以下の人を対象とします。

– 機械学習の待ち時間を有効活用できていない
– 行き当たりばったりで学習のプログラムを書いている
– 実験が増えた際のファイル管理が困難になっている

これらの悩みを持つ人の役に立てれば幸いです。

## なぜ機械学習の実

元記事を表示

SpotifyのNowPlayingを投稿しステータスに設定もしてくれるSlackbotを作ってみた

この記事は[ニフクラ](https://www.nifcloud.com/)等を提供している、[富士通クラウドテクノロジーズ Advent Calendar 2022](https://qiita.com/advent-calendar/2022/fjct)の14日目の記事です。

前日は@George22eさんの[ヴァイオリンのヴィブラートをtartiniを使って可視化し、改善に役立てた話](https://rallyho.hatenablog.com/entry/2022/12/13/093553)でした。
ヴァイオリンのヴィブラートの改善にソフトを使うという発想は今までにない気がして、とても素敵だなと思いました。
自分も学生の頃に合唱をしていたので、歌声のヴィブラートも可視化できるのか気になるのでtartiniを使ってみたいです。

# はじめに
みなさんは普段音楽を聴くときにサブスクリプションサービスは利用しますか?自分は[Spotify](https://www.spotify.com)をよく活用しています。
Spotifyでは毎年年末に[Spotifyまとめ](https

元記事を表示

【Django】

なにかこうかな

元記事を表示

看板にテキスト描くやーつ(Python3.9、OpenCV)

# はじめに
看板を射影変換して、平面にして、そこにテキスト描いて、戻す

# 開発環境
– Windows 10 PC
– Python 3.9

# 実行

~~~main.py
import cv2
import numpy as np
import math

ratio = 1.1
filename = “AdobeStock_344789310.jpeg”

p1 = np.array([1777, 532])
p2 = np.array([3497, 1179])
p3 = np.array([1763, 1916])
p4 = np.array([3539, 2447])

image = cv2.imread(filename)
height, width = image.shape[:2]

width2 = np.linalg.norm(p2 – p1)
width2 = math.floor(width2 * ratio)

height2 = np.linalg.norm(p3 – p1)
height2 = math.floor(height2)

s

元記事を表示

LambdaでDynamoDBのトランザクション処理をおこなう(Python)

# 概要
DynamoDBへのトランザクション処理をPythonで書く方法を紹介します。

# 前提条件
– DynamoDBのテーブルが用意されていること

# 環境
– Lambda
– ランタイム:Python3.9
– リージョン:ap-northeast-1

# コード
“`python
import boto3

dynamoDB = boto3.resource(“dynamodb”)
table_name =
table = dynamoDB.Table(table_name)
client = boto3.client(‘dynamodb’, region_name=’ap-northeast-1′)

def lambda_handler(event, context):
id1 = <更新するデータの主キー>
id2 = <更新するデータの主キー>
column1 = <更新する値のカラム名>
column2 = <更新する値のカラム名>
data1 = <更

元記事を表示

OTHERカテゴリの最新記事