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

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

[Python] AnacondaからMinicondaへの移行

# 初めに
pythonの実行環境としてAnacondaを使用していたが、容量の関係などからMinicondaへと環境を移行した。
その際の移行手順をまとめた。

|環境|詳細|
|—|—|
|OS|windows11|
|conda|4.12.0|

本作業でよく使用したコマンドは以下にまとめた。

https://qiita.com/flcn-x/items/2a1c4095d7febe864db8

# 移行手順
## 1. 移行環境のexport

まず、移行する環境の情報をexportする。
テキスト出力もあるが、インポート時の手順からymlを推奨する。
※大括弧内は任意名称。初期のbaseでも可。

“`:Anaconda Prompt
conda env -export -n [任意環境名] –no–builds > [env.yml]
“`
カレントディレクトリに任意のファイル名のymlファイルが作成される。
内容は以下のような情報が含まれている。
“`:env.yml
name: [任意環境名]
channels:
– conda-forge

元記事を表示

[Python] conda仮想環境構築でよく使うコマンド一覧

# conda
anacondaおよびminicondaの環境構築に関して、
よく利用したコマンドをまとめた。適宜追記する。

# 対象
各対象として仮想環境、チャンネル、パッケージに対して,
よく使用するコマンドをまとめた。

## 仮想環境
仮想環境の構築及び確認のためのコマンドをまとめた。

|目的|コマンド|
|—|—|
|一覧|conda info -e|
|一覧|conda env list|
|パス|conda info –base|
|作成|conda create -n [仮想環境名]|
|移行|conda activate [仮想環境名]|
|離脱|conda deactivate|
|削除|conda remove -n [仮想環境名] –all|

詳細設定例は以下の通り。
|目的|コマンド|
|—|—|
|作成|conda create -n [仮想環境名] python=[pythonバージョン名]|

## チャンネル

チャンネル追加、削除のためのコマンドをまとめた。
なお、チャンネルとは、パッケージをダウンロードする際のリポジトリ名の

元記事を表示

簡単!学習済みモデルで物体検出を試す!

こんにちは、kamikawaです
今回はpytorchの学習済みモデルで物体検出をする方法を解説します

実行環境はGoogle Colaboratory (Colab)です。

## この記事の対象読者

* 画像AIを試してみたい!
* 物体検出を試してみたい!

## 物体検出
画像認識分野(CV分野)において注目を集める物体検出を試していきます。
物体検出は画像の  **”どこに”**   **”何が”**  あるかを調べるタスクと言えます。
よくAIを紹介しているニュースなどで、映っている車や人を四角い枠で囲んでいる画像を見たことがあると思います。そのイメージです。

## 今回使用するモデル
今回は物体検出の代表的なネットワークである

* Faster R-CNN ・・・高速なモデル
* Mask R-CNN ・・・正確なモデル(セグメンテーションもできます)

を使用します

これらのモデルを自分で学習させると時間がかかりますが、pytorchのtorchvisionで学習済みモデルが使用できるので今回はそれを用いて物体検知を試していきます。

torchvis

元記事を表示

Yolov5の精度を検証する

# トレーニングしたモデルの精度を検証したい

# 方法

以下の記事と同じ形式で、検証データセットを用意します。

https://qiita.com/john-rocky/items/60af264e3e60f2bc0eb7

検証スクリプトを実行します。

“`shell
python val.py –weight exp/weights/best.pt –data my_config.yaml
“`

**Precision
Recall
mAP@.5
mAP@.5:.9**
が算出され、ログにグラフが残ります。

?
****
フリーランスエンジニアです。
お仕事のご相談こちらまで
rockyshikoku@gmail.com

Core MLやARKitを使ったアプリを作っています。
機械学習/AR関連の情報を発信しています。

[Twitter](https://twitter.com/JackdeS11)
[Medium](https://medium.com/@rockyshikoku)
[GitHub](https://github.com/john-ro

元記事を表示

M1 MacでScrapyがImportError: …mach-o file, but is an incompatible architecture (have ‘x86_64’, need ‘arm64e’))となる場合の対処法

Scrapyを使おうとすると一瞬M1では使えないかと思ったが`lxml`をソースからビルドすることで解決した。
(macOS Monterey 12.4, MacBook Pro 2020 M1)

> ImportError: dlopen(/opt/homebrew/lib/python3.10/site-packages/lxml/etree.cpython-310-darwin.so, 0x0002): tried: ‘/opt/homebrew/lib/python3.10/site-packages/lxml/etree.cpython-310-darwin.so’ (mach-o file, but is an incompatible architecture (have ‘x86_64’, need ‘arm64e’))

“`sh
$ pip uninstall lxml
$ pip install –no-binary lxml lxml
“`

https://apple.stackexchange.com/questions/436801/m1-mac

元記事を表示

【Blenderアドオン】コードを簡素化するEasyBPYの使い方まとめ①

# はじめに
Blenderをpythonを使って操作する場合、Blender API(bpy)を使用してコードを書いていくが、このbpyを使ったコードはとても複雑で読みづらく、何かいい方法はないかと探していたらEasyBPYというアドオンを見つけた。[公式ページ](https://curtisholt.online/easybpy)が英語のみだったので、この記事では備忘録として公式ページをもとに日本語に翻訳してまとめていく。

# EasyBPYとは
EasyBPYは、Blender API(bpy)による複雑なコードの使用を簡素化し、人が読みやすくすることを目的としているモジュールである。
![easybpy](https://www.blendernation.com/wp-content/uploads/2020/09/EasyBPY_BN-728×336.jpg)

### 入手先
* [github](https://github.com/curtisjamesholt/EasyBPY)
* [Gumroad](https://curtisjamesholt.gumroad

元記事を表示

最小規模のflaskuウェブアプリ実行方法。

## はじめに

どうも。pythonで転職ポートフォリオ作成を目指す者です。
ここ3~4日flaskを学習しておりますが、前提知識が皆無な為大変苦戦を強いられております。
そしてようやく一歩先に進めた気がしたので記念がてらペンを取ることにしました。

### 本記事の目的
flaskの最小規模のアプリ作成し実装する。


– ライティングスキル向上の為
– アウトプットや理解が足りていない箇所を洗い出す為

### 環境
windows11
vs code

### 対象者
pythonの基礎をひとまず学習した方々。

## 学習

まず初めに今回のコードをシェア致します。

“`python

from flask import Flask
app = Flask(__name__)

@app.route(‘/’)
def hello_world():
return “Hello Python from Flask”

if __name__ == “__main__”:
app.run()

“`

なんのこっちゃですよね。私も同じ気持ちです。解説は後

元記事を表示

Bokehで作ったグラフをWebAPIで取得してReactで描画する

Pythonの[Bokeh](http://docs.bokeh.org/en/latest/)で作ったグラフをWebアプリ化する話です。バックエンドで作ったグラフを、フロントエンドからWebAPIで呼び出してReactで描画します。

Bokehサーバーという選択肢もありますが、フロントエンドの技術でレイアウトするのもまた一興だと思います。ニッチすぎでしょうか??

# APIの用意

バックエンドサーバーはいまどきっぽい[FastAPI](https://fastapi.tiangolo.com/ja/)で作ります。
以下の例はFastAPIである必要性は全くないですが、リクエストが来たらBokehでグラフを作ってjson化して返すモジュールです。

“`python
import json

from fastapi import FastAPI
from starlette.middleware.cors import CORSMiddleware

import bokeh
from bokeh.plotting import figure

app = FastAPI()

元記事を表示

djangoのWebアプリがherokuへのpushで失敗する(requested runtime (Python-x.x.x) is not available for this stack )

# djangoのWebアプリがherokuへのpushがエラーになり失敗する。pushできない
(requested runtime (Python-x.x.x) is not available for this stack )

“`
> git push heroku master
“`
すると
requested runtime (Python-x.x.x) is not available for this stack
となってPUSH失敗する。

原因は、
runtime.txt の記述を
Python-3.9.2

python-3.9.2
に修正したら解決しました。

元記事を表示

【備忘録】【Python 】処理の高速化のための知識

* **ベクトルプログラミングによる高速化**
配列の各要素に対して同じ処理を行う場合,
“`python
for x in range(100): x ** 2
“`
のようにfor文を回すより,
“`python
import numpy as np
np.arange(100) **2
“`
のようにベクトル的に処理したほうが速いらしい.
参照元↓

https://stackoverflow.com/questions/10698858/built-in-range-or-numpy-arange-which-is-more-efficient

*

元記事を表示

[AtCoder]Python3でAtCoder水色になるまでに知っておいた方が良いこと

# 目的
AtCoderをPythonを用いて解答する場合、知っておいて方がいいルールや事前に用意しておいた方がいい関数などをまとめました。AtCoderやPython初心者~緑色の方を対象に記述しています。
知らない知識がないか流し読みできるよう簡単に書いています。
もし気になる部分があれば詳細は検索してください。

# 前提知識
Python3は実行速度が遅いためPyPy3で提出しましょう。
また提出時にPyPy3になっていることを確認しましょう。

# 用意しておくと便利な関数まとめ
## アルファベットのリスト
アルファベットの文字列を扱う問題が頻出します。
asciiコードを用いるのが妥当かと思われますが、最初のうちは以下のリストをコピペで使用するのが簡単です。
~~~Python3
#文字列リスト
SAL = [“a”,”b”,”c”,”d”,”e”,”f”,”g”,”h”,”i”,”j”,”k”,”l”,”m”,”n”,”o”,”p”,”q”,”r”,”s”,”t”,”u”,”v”,”w”,”x”,”y”,”z”]
LAL = [“A”,”B”,”C”,”D”,”E”,”

元記事を表示

Jupyterにおけるipynbとpyファイル。

## 初めに
どうもプログラミング歴3か月、jupyter歴1か月の者です。
今回Jupyret labにおけるipynbとpyファイルの使い分けについて簡単にまとめて行こうかと思います。
私自身よく理解せずに使用しおりましたので。

## 学習

### pyファイル

イメージとしては、VScode等で記入し実行するとターミナルに結果が出力されるものです。
画像は挿入できませんが、コメントとしてメモを残す事は可能です。

#### 特徴

flask等のアプリの中に入れ込むにはpyファイルが適しています。
少なくとも私が試みた結果、ipynbではflaskやコマンドプロンプトの動作が上手く行きませんでした。
webアプリの実装やコマンドプロンプトを組み合わせる際はこちらの方が良いと思います。

### ipynbファイル(IPython Notebook)
Jupyter notebook専用ファイル。フォーマットとしてはJSONで、markdown方式と組み合わせる事も可能。Google Colabもこの形式でexportする

元記事を表示

Effective Python 第2版 を自分なりにまとめてみる part5

# はじめに
こちらの書籍のまとめになります

[Effective Python 第2版 ――Pythonプログラムを改良する90項目](https://www.oreilly.co.jp/books/9784873119175/) (Brett Slatkin 著、黒川 利明 訳、石本 敦夫 技術監修)

– 全てのパートをまとめているわけではありません
– 個人的に難しくて理解できていなかったり腑に落ちていない箇所は省いています
– もしくは新たな気づきは特にないなと感じたところも省略しています
– コードに関しては書籍のものを丸々掲載するでなく、改変しています(その過程も個人的に有意義な時間でした)
– そのような理由からこのブログでは多くの部分を削ってしまっています。オリジナルの書籍はかなり勉強になるなと思いました。興味ある人は是非読んでください。
– このページでは本書の8章中盤〜10章をまとめています。他の章はこちらを参照ください

– [1〜3章](https://qiita.com/Takayoshi_Makabe/items/d49713937b1b4824

元記事を表示

ターミナル上で長めの処理をするときに使いたい、くっそ便利なぐるぐるクラス

# デモ
こんな感じのぐるぐるを簡単に作れます。
spinner

# コード
“`python
class Spinner:
def __init__(
self,
text: str = “Please wait…”,
etext: str = “”,
overwrite: bool = True,
) -> None:
self.text = text
self.end_text = etext
self.overwrite = overwrite

def start(self) -> None:
self._stop_flag = False

元記事を表示

Databricksでのipywidgetsの活用

[ipywidgets \| Databricks on AWS](https://docs.databricks.com/notebooks/ipywidgets.html) [2022/7/8時点]の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

:::note info
**プレビュー**
本機能は[パブリックプレビュー](https://docs.databricks.com/release-notes/release-types.html)です。
:::

[ipywidgets](https://ipywidgets.readthedocs.io/en/7.7.0/)はノートブックのセルでパラメータの値を指定できるビジュアル要素です。Databricks Pythonノートブックをインタラクティブなものにするためにipywidgetsを活用することができます。

ipywidgetsパッケージには、スライダー、テキストボックス、チェックボックスなどのコントロールやタブ、アコ

元記事を表示

13億パラメータの日本語特化GPT言語モデルを使ってSlackAIチャットボットを作ってみた1~文章生成機能編~

# 1.はじめに
社内勉強会で発表することになり、題材として[rinna/japanese-gpt-1b](https://huggingface.co/rinna/japanese-gpt-1b)を使用したSlackのAIチャットボットを作成したので、備忘録として残しておきます。

「文章生成機能編」と「SlackBot実装編」で記事を2つに分けており、当記事では文章生成機能について記載します。

:::note warn
初心者なため、間違った部分や理解の足りていない部分もあるかと思います。
そういった部分がありましたらコメントまたはTwitterで指摘して頂けると幸いです。
:::

### [rinna/japanese-gpt-1b](https://huggingface.co/rinna/japanese-gpt-1b)とは
13億パラメータの日本語特化GPT言語モデルです。[rinna株式会社](https://rinna.co.jp/)がオープンソースで公開しています。
今回はこちらを使用して、文章を生成する機能をbotに実装しています。
サンプルコードとほぼ同じもの

元記事を表示

Flaskでツールチップの実装

本記事では、PythonのWebアプリケーションフレームワークであるFlaskでwebアプリ等を作る際に、ツールチップ機能を実装する方法について記述します。
ツールチップとは、難しい意味の単語がweb上に書かれている際にその単語や単語付近のアイコンにカーソルを合わせると、詳細な意味が書かれた吹き出しが表示されるweb機能の一種です。

以下画像が今回作成したものです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2709441/0d33cf3c-7be1-4325-18cc-1f99309664e2.png)

今回はよくWebサイトで見られるように、文字の近くにクエスチョンのアイコンを設け、そのアイコンにカーソルを合わせると吹き出しが表示される機能を実装しました。

# 環境
+ MacBook Air
+ Python3.7.6
+ Flask 1.1.1
+ Bootstrap 4

# 実装方法

### ディレクトリ構成
ディレクトリは以下の様に構成します。今回はBoots

元記事を表示

Pythonパッケージの作り方

## 1. packageにすると何が良いのか

– pipでインストールできる
– githubに置けるのでバージョン管理がやりやすい
– CIがやりやすい
– PyPIに置けば誰かの役に立つこともできちゃう

## 2. packageをつくる

### ファイル構成

最小構成は以下のようになります

“`
myapp/   ← プロジェクトのフォルダ(フォルダ名は何でも良いです)
  ├ setup.py    ← packageの情報を書くファイル
  └ myapp/     ← このフォルダ名でimportするようになります
    ├ __init__.py  ← フォルダ内のクラスやメソッドを定義するファイル
    └ main.py    ← 実際にコードを書くファイル(ファイル名は自由)
“`

### setup.py

packageのメタ情報を書くファイルです

“`python:setup.py
from setuptools import setup, find_packages

setup(
name=’myapp’,

元記事を表示

Python3エンジニア認定基礎模試試験6回目 -間違えた問題-

獲得点数 950/1000点


正答率: 95.0 % ( 38問 / 40問 正解 )

“`python
対話モード時に、最後に表示した式を格納している変数を選びなさい。

A,変数:_ (アンダーバー)

>>> a=”機械学習サイコー!!”
>>> a
‘機械学習サイコー!!’
>>> _
‘機械学習サイコー!!’
“`

元記事を表示

Cypy のFFTでOut of memory errorになる件はcacheが原因だった

# 環境
Winpython
WPy64-31040

# 現象
CupyでFFTを使用すると、del で変数を消してメモリーを確保したはずなのにメモリーエラーが発生する。

# 原因
chacheが残っているためだった。
https://docs.cupy.dev/en/stable/user_guide/fft.html

# 解決方法
**キャッシュの確認**

import cupy as cp

cache = cp.fft.config.get_plan_cache()
cache.show_info()
——————- cuFFT plan cache (device 0) ——————-
cache enabled? True
current / max size : 1 / 16 (counts)
current / max memsize: 8564793344 / (unlimited) (bytes)
hits / misses: 0 / 1 (counts)

cached plans (most rece

元記事を表示

OTHERカテゴリの最新記事