Python関連のことを調べてみた2023年01月17日

Python関連のことを調べてみた2023年01月17日

pytorchでテンソルを作成する

参考にした本:

# テンソルとは
多次元配列のこと。k次元テンソルは、1つの値の位置を特定するのにk個のインデックスが必要になる。

# pytorchのテンソルのメリット
・GPUでの高速な計算が可能
・複数のデバイスに計算を分散できる
・計算グラフで

元記事を表示

[VSCode]Pythonで返り値の型指定をするとテーマが反映されないアレの対処法

# どんなの?
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883146/67050a53-7bb7-c9ab-61c9-d133992ec1c2.png)

こんなの。
上の関数ではコメント・`pass`両方にテーマが反映されてるのに対し、下の関数には適用されていない。

実行する分にはどうでもいいんですが、なんかやだ。

# 原因
全世界インターネットに聞いた結果、拡張機能が邪魔をしてるっぽい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883146/effa9f6e-211b-5a88-240c-68fd4d4237f5.png)

[Python for VSCode](https://marketplace.visualstudio.com/items?itemName=tht13.python)。
どうやらこいつが原因らしい。
2016年から更新が止まっているため、

元記事を表示

JavaScript行きついた結論(2)

昨日書いた自分なりの結論の続きです。

https://qiita.com/EasyCording/items/724b69fbd7050fb86409

# 腑に落ちる
 腑に落ちるという感覚は、誰が言ったかは知らないが、実に不思議なものだ。
 だいたい「腑」なんて漢字自体が、日本人として習った覚えもなければ、漢字変換して初めて知ったぐらいだ・・・
 ちなみに意味は、納得がいく。合点がいく。ということらしい
 英語では “make sense” と言うらしい。そう言えば、GANを説明していたイアングッドフェローさんに、インド人エンジニアが説明していて、その時にこのフレーズを使っていた。最初は何か分からない感覚であったかが、ようやく自分もこの会話自体が腑に落ちたようだ・・・

# 進むべき方向性
 自分は業務でAI関係をやっている。ただし、これは極々ユーザーに近い位置であり、ITシステム屋さんとは、ほとんど反対方向に立っている。ここでシステム屋さんという言葉を使っているが、要するに

元記事を表示

Inpaintingモデル DeepFillv2の使い方

# 方法

https://github.com/csqiangwen/DeepFillv2_Pytorch

### インストール

“`bash
git clone https://github.com/csqiangwen/DeepFillv2_Pytorch.git
cd DeepFillv2_Pytorch
pip install imgcrop
gdown https://drive.google.com/u/0/uc?id=1uMghKl883-9hDLhSiI8lRbHCzCmmRwV-
“`

### 推論

“`bash
python3 test.py –baseroot ‘./test_data/’ –baseroot_mask ‘./test_data_mask/’ –results_path ‘./results’ –gan_type ‘WGAN’ –gpu_ids ‘1’ –epoch 40 –batch_size 1 –num_workers 8 –pad_type ‘zero’ –activation ‘elu’ –norm

元記事を表示

generative-inpainting-pytorchをつかう

# 方法

### インストール

“`bash
git clone https://github.com/daa233/generative-inpainting-pytorch.git
cd generative-inpainting-pytorch
pip install pyyaml==5.4.1
“`

### 推論

“`bash
python test_single.py –checkpoint_path path_to_pretrained_model_dir –image your_image.png –mask examples/center_mask_256.png –output examples/output.png
“`

![inin.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/210d61e4-6e4b-731c-727c-732b37707c29.png) ![f23cf4a0-619e-4b47-893e-4b9cb22d481b.pn

元記事を表示

[Streamlit Cloud] デプロイ時にパッケージinstallできないバグ

[streamlit](https://streamlit.io/)を最近知ったのですが手軽にデータ処理をしてそのままUIに乗っけたいときに重宝しています。

今回はstreamlitで作ったアプリを公開したく Streamlit Cloudにデプロイしようとしたときにパッケージがinstallできないバグに遭遇したのでその解決法です。
*パッケージ管理はanacondaを使用していました。

環境
conda 4.11.0
python 3.9

# 解決法
先に結論を言うとconda経由のinstallは諦めてpipに変えました。
`pip list –format=freeze > requirements.txt`

# 何をしたか
## ①`conda list -e > requirements.txt`
一番最初は上記のコマンドで作成したrequirements.txtをあげていました。

これはconda用の環境のようです。streamlit cloudではrequirements.txtはpipでinstallするのでエラーが起きてしまいました

#

元記事を表示

Twitter API:tweepyを使わずrequestsでツイートを検索する

tweepyを使わず、Pythonの標準モジュールであるrequestsを使って直接Twitter APIのエンドポイントに接続してツイートを取得する方法を紹介します。

個人的には、tweepyでラップされている書き方よりも、こちらの方が公式ドキュメントに即して書けるのでおすすめです。

今回のツイートを検索するエンドポイントに関する公式ドキュメントは[こちら](https://developer.twitter.com/en/docs/twitter-api/tweets/search/api-reference/get-tweets-search-recent)です。

なお、この記事では、Twitter APIがすでに使える状態になっていることを想定しています。

## 必要なモジュールをインポート

“`python
from datetime import datetime #日付データを扱う
import pandas as pd #DataFrameを扱う
import requests #HTTP通信をする
import json #JSONデータを使用する
imp

元記事を表示

PythonからChrome DevTools Protocolを使ってChromeを操作する

スクレイピングやブラウザの自動操作をするときに、[Selenium](https://www.selenium.dev/ja/)を使う人が多いと思います。しかしSeleniumを使うにはブラウザのバージョンとdriverのバージョンを合わせる必要があり、少し面倒臭いです。

この記事では、[Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/) (CDP)を使ってdriverを経由せずPythonからChromeを操作する方法を紹介します。

## ライブラリのインストール
今回は[PyChromeDevTools](https://github.com/marty90/PyChromeDevTools)というものを紹介します。他にも[pychrome](https://github.com/fate0/pychrome)というものもあります。

インストールはpipでできます。
“`bash
pip install PyChromeDevTools
“`
## サンプルコード

元記事を表示

【matplotlib】サブプロットの余分なプロットを削除する3つの方法

# 概要
matplotlibでグラフを作るとき、[subplots()](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.subplots.html)は便利なのですが、下図のように**余分なプロットがあり削除したい**場合があると思います。筆者もその場面に遭遇し、そのときに色々と調べたので、解決方法を3つ紹介します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1599258/75da85f7-2017-0532-f189-47a0e888f175.png)

# 実装
Google Colabで作成した本記事のコードは、[こちら](https://colab.research.google.com/drive/1THcoiY1LQWMAYI7amKR7uP4U5jh9R9cd?usp=share_link)にあります。

# 方法
2×2plotで右下のプロットを消す場合のコードで簡単に紹介します。おすすめ度は

元記事を表示

numpy を使わないで配列の中身を右にローテーションする方法

モジュールを使えない環境でリストの中身をn回ローテーションする機能実装するために、めちゃ頭悩ませたので備忘録として残す。

“`
def rotateByTimes(list,n):
for a in range(n):
first = list[-1]
remains = list[:-1]
list[0] = first
for b in range(len(list)-1):
list[b+1] = remains[b]
return list

list = [1,2,3,4,5]
print(rotateByTimes(list,n))
“`

元記事を表示

ja_sentence_segmenterで文章を句点区切りする(Python)

## はじめに
自然言語処理などで文章を句点(「。」や「.」)区切りにしたい場合に、とても有用な“`ja_sentence_segmenter“`による句点区切りを備忘録として示します。
ja_sentence_segmenterの詳しい解説や使い方ついては、以下を参照してください。本備忘録もこちらの記事を参考にして作成したものになります。作者のみなさまにたいへん感謝いたします。
[日本語の文章をいい感じに文区切りするライブラリを作った](https://qiita.com/wwwcojp/items/3535985007aa4269009c)
[GitHub – wwwcojp/ja_sentence_segmenter: japanese sentence segmentation library for python](https://github.com/wwwcojp/ja_sentence_segmenter)
[ja_sentence_segmenter で文区切りするときに、句読点のピリオドと小数点のピリオドを区別する](https://zenn.dev/hello

元記事を表示

【永久保存版】複数のベクトル群同士のコサイン類似度を一気に算出する方法

# はじめに
この記事では,コサイン類似度の概要から,複数のベクトル群同士のコサイン類似度を一気に算出する方法をpythonコードを用いて解説します.

# コサイン類似度とは
コサイン類似度を一言で表すと「**2つのベクトルがどの程度似ているかを表す尺度**」です.この尺度は,**2つのベクトルの内積を2つのベクトルの大きさ(L2ノルム)で割る**ことによって計算できます.
コサイン類似度は,**-1~1の範囲に正規化**され,その値によって以下のように解釈が異なります.

>* **1**なら「2つのベクトルの成す角度が**0度** → **同じ向き**のベクトル → **完全に似ている**」
>* **0**なら「2つのベクトルの成す角度が**90度** → **独立・直行**したベクトル → **似ている/似ていないのどちらにも無関係**」
>* **-1**なら「2つのベクトルの成す角度が**180度** → **反対向き**のベクトル → **完全に似ていない**」

**2つのベクトルの大きさにかかわらず,2つのベクトルの向きが近いほど類似度が高くなる**ということがポ

元記事を表示

DJ社長ですか?いいえ、AI社長です

https://youtube.com/shorts/7X35qaP1Scw?feature=share

元記事を表示

Django REST frameworkのGETとPOSTリクエストをpytestでテストしたい

## はじめに
テストなくしては安心して開発をすることはできません。

私はこれまでpythonの開発を行う時にpytestを使って単体テストや結合テストを行なってきました。

これからDjango REST frameworkを触ることになりそうなのでDjangoでのテスト実装方法について調べておきたいと思い、記事を作成しました。

## 環境
記事を作成した時に使用した端末はMacbook Pro 16のM1Proモデルです。
“`bash
$ uname -om
Darwin arm64
“`

本記事の内容は[こちら](https://github.com/abemaru/django_unittest)のリポジトリで内容を確認することができますので、よければ参考にしてください。

### 必要なライブラリ
筆者はpipenvを使って環境を構築しています。
必要なライブラリは以下となっております。
“`requirements.txt
pytest
pytest-django
Django
django-filter
djangorestframework
markdow

元記事を表示

Quartoの引き分け図を数理最適ソルバで作成

## はじめに
Quartoは4×4マスのボードゲームです。プレイヤーは4つの異なる高さ、形状、色、材質の形状の中から1つを選び、相手に配置することになります。相手はその形状を使って、自分のターンに使用します。

目的は、自分のターンに4つの形状が同じ特徴を持つ行または列を作ることです。例えば、全ての高さが同じ行を作ることができれば勝ちとなります。

もし、相手に渡した形状を使って、相手が勝利することができないようにすることができれば、あなたが勝者となります。

ゲームは先手と後手が交互に形状を選んで配置することで進行します。形状がなくなった時点でゲームは終了し、どちらかが4つの形状が同じ特徴を持つ行または列を作れば勝者となります。もしどちらも作れない場合は引き分けとなります。
(chatgpt)

Quartoで引き分けになったときは、すべての駒が盤上に乗っています。
三目並べで引き分けになったような感じです。
そのようなパターンはどこまで制約を加えて残るか気になったため調べてみました。
結果として、縦・横・斜め・2×2ブロックまでは引き分け図が存在しました。

## 実装

“`

元記事を表示

ラズパイでの4Gpiの設定

## (1)下記サイトにアクセス
https://github.com/mechatrax/4gpi
## (2)ページ内の1.1 リポジトリの追加実施
“`
curl https://mechatrax.github.io/setup.sh | sudo bash
“`
## (3)ページ内の1.2 NetworkManagerの有効化実施
*Raspberry Pi OS September 6th 2022 以降の公式イメージが対象です。
“`
sudo raspi-config nonint do_netconf 2
“`
## (4)ページ内の1.3 パッケージのインストール実施
“`
sudo apt install 4gpi-utils 4gpi-net-mods 4gpi-networkmanager
“`

元記事を表示

pythonのopencv用カスケード分類器のダウンロード方法

# 学習済みカスケード分類器をダウンロード

## GUIでの方法
(1)下記サイトにアクセス
https://github.com/opencv/opencv/tree/master
(2)下記画像の右上【code】をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113724/f7d8437e-ff6e-7201-1a84-d615008f1396.png)
(3)【Download ZIP】をクリック
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f333131333732342f39633238643863362d383530332d333363652d336137322d373563393.png](https://qiita-image-store.s3.ap-northe

元記事を表示

ラズパイをpython2からpython3に変更する方法

## (1)pythonのバージョンを確認
*現在のバージョンはpython2系であることを確認
“`
python -V
–python2.7.0
“`
## (2)シンボリックリンク確認
“`
cd /usr/bin
“`
“`
ls -l | grep python
–rwxrwxrwx 1 root root 10 Oct 4 2022 python -> python2
“`
## (3)シンボリックリンク削除
“`
cd /usr/bin
“`
“`
sudo unlink python
“`
## (4)シンボリックリンク作成
“`
cd /usr/bin
“`
“`
sudo ln -s pytohn3 python
“`
## (5)再度シンボリックリンク確認
“`
cd /usr/bin
“`
“`
ls -l | grep python
–rwxrwxrwx 1 root root 10 Oct 4 2022 python -> python3
“`
## (6)再度pythonのバージョンを確認

元記事を表示

コロナ前後での東京23区の人口推移を可視化してみた

## はじめに
本記事ではコロナ前後での東京23区の人口の推移を可視化してみます。
筆者が東京都民のため対象を東京都としていますが、コードの一部を変えるだけであらゆる地域の人口推移を可視化することができます。
こちらの記事は[以前書いた記事](https://qiita.com/oz_oz/items/c812fe773c4df546b68d)の派生になります。こちらの記事もぜひご覧ください。

今回のコードは[ヘルシンキ大学が公開しているGISに関する教材](https://autogis-site.readthedocs.io/en/2021/)を元にしています。
筆者はそちらの教材を勉強した後のアウトプットでこの記事を書いています。
GISについて勉強してみたい方はぜひそちらを使ってみてください。そちらの教材についての質問があればQiitaのコメントで議論させていただけると、筆者も勉強になり大変嬉しいです。

※本記事はGoogle Colab上で使用することを想定しています。ローカル環境でのコード実行時には事前に必要なライブラリのインストールが必要になります。

## 扱うデー

元記事を表示

ubuntuのよく使う設定ファイルの場所をまとめてみた

# wifi #
## wifi設定ファイルディレクトリ
“`
/etc/netplan/50-cloud-init.yaml
“`
## wifi設定記述
*有線LANはethernets、無線LANはwifisに記述
“`
network:
ethernets:
eth0:
dhcp4: true
optional: true
version: 2
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
【SSID】:
password: “【PASSWD】”
“`
## wifi設定ファイル反映
“`
sudo netplan apply
“`
# bash #
## bashの設定ファイルディレクトリ ##
“`
~/.bashrc
“`

元記事を表示

OTHERカテゴリの最新記事