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

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

NumPyの乱数・シャッフル・ランダム抽出(`np.random`)まとめ

# NumPyの乱数・シャッフル・ランダム抽出(`np.random`)まとめ

## 基本的な使い方

`np.random.default_rng()`で、乱数生成器オブジェクトをインスタンス化したのち、各種メソッドで乱数を発生できます。

“`python
import numpy as np

# 乱数生成器オブジェクトの作成
rng = np.random.default_rng()

# 乱数の作成
rfloat = rng.random()
print(rfloat)
“`

以下乱数生成器オブジェクトを変数`rng`として説明します。

### シード

`np.random.default_rng()`にはシード値を渡すことができます。

NumPyの乱数生成器は擬似乱数といって、本当のランダムではありません。極端にいえば$y=f(x)$のような関数になっており、初期条件$x$が決まれば結果$y$が決まっていますが、通常$x$には実行したときの現在時刻などが入るために、結果がランダムになっています。

私達がサイコロを振るとき普通は適当に投げるので結果はランダムで

元記事を表示

cifar10のkerasでの分類にチャレンジ

#はじめに
pythonのkerasを用いて機械学習の練習を行う際に必ずといっていほど目にするcifar10とmnist。今回は機械学習の第一歩としてcifar10に着目して取り組んでみる。

###目次
・使ったもの
・データセットの入手、作成
・ネットワークを構築
・学習させてみる

###使ったもの
・numpy (毎度おなじみのやつ, 保存に使っただけで使う必要なし)
・keras(tensorfow?)
なければ、conda install keras でインストールを。

###データセットの入手、作成
まずはデータセットを手に入れます。今回はCIFAR-10データセットを使用しました。CIFAR-10とはkerasに同梱されており、32×32ピクセルのカラー画像が60000枚存在します。これらの画像はすべて、10種類のいずれかに分けられます。

早速読み込んでいきます。

“`python
from keras.datasets import cifar10
(x_train, y_train), (x_test, y_test) = cifar10.load_dat

元記事を表示

【画像処理】Numpyでテンプレートマッチング

Numpyでテンプレートマッチングを実装してみます。

まず、マッチングを行う画像を読み込みます。

“`python
import numpy as np
import matplotlib.pyplot as plt

original_image = plt.imread(image_name)
if np.issubdtype(original_image.dtype, np.integer):
original_image = original_image / np.iinfo(original_image.dtype).max
gray_image = 0.2116 * original_image[:,:,0] + 0.7152 * original_image[:,:,1] + 0.0722 * original_image[:,:,2]
plt.imshow(gray_image, cmap=’gray’)
“`

![GrayImage.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.co

元記事を表示

OpenVINOで推論してみた1 face-detection-0200

# 初めに
今回初めて記事を書きますので拙いものになるかもしれませんがよろしくお願いします。
サークルでOpenVINOの学習済みモデルを使った推論をたくさんしており、せっかくなので記事に起こしたいと思います。
この記事はOpenVINO Toolkitがダウンロード済みのことを想定していますので、「OpenVINOって何?」や「どうやってダウンロードするの?」という方はQiitaで探してみてください!
初めはそこから書こうと思いましたが素敵な記事がたくさんあって敢えて書かなくてもいいと思いましたので、モデルのインストール、推論をメイン記事として進めていこうと思います。

最後に全コードを書いておりますので煩わしくなった方はそれだけでも実装してみてください。

# 環境
windows10
OpenVINO toolkit 2021.4.752
OpenVINO 2021.4.2
python 3.6
opencv 3.4.2

# モデルのダウンロード方法
OpenVINO toolkitのフォルダに移動します。ダウンロードフォルダはデフォルトで`C:\Program Files (

元記事を表示

Astropyでカラーバーがおかしい問題を解決した

##元々は…
`APLpy`というモジュールの`FITSFigure`という関数(?)を使用していたが,どうやら最近の`Python`のアップデートに追いついていないらしく,`3.6`か`3.7`ぐらいでアップデートが終了し,それ以降のバージョンに対応していないようだった.
`Pyenv`でバージョン管理をしているので使えるといえば使えるがなんだか気持ち悪い.

ということで最新の`Python 3.10.1`でも`pip`経由できちんとインストールできた`astropy`だけでFITS画像の出力ができないか模索していた.

##そんなこんなで…

いろいろ参考にしてastropyとmatplotlibでFITS画像をプロットすることができたのだが...

“`python
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from astropy.io import fits
import pyregion
from mpl_toolkits.axes_grid1 import make_axes_loca

元記事を表示

ニュース記事の感情分析(ネガポジ判定ないし極性判定とも)

# はじめに

過去の記事([※1](https://qiita.com/Blaster36/items/4bf54b129f506f814a6c))で自然言語処理をする機会が増えてますとお伝えしてました。
いろいろと手を出してて、**感情分析**(ネガポジ判定ないし極性判定とも)にもチャレンジしてもいたり。。。
> この2~3か月くらい、筆者は仕事でデータ収集(BeautifulSoupやSeleniumを使ったWebスクレイピング)と自然言語処理(MeCabを使った形態素解析とgensim使った単語の分散表現と感情分析)をする機会が増えてます。

本稿では、「**livedoor NEWSに対して感情分析をする**」過程をCode交えて紹介してゆく。

## 感情分析とは

感情分析とは、とある文章に込めた**想い(感情)**がポジティブかネガティブかを、文章に含まれる単語軍から推定(分類)するタスクです。
東北大学でも関連研究に取り組まれており、資材(日本語評価極性辞書[^1][^2])も公開されております。

本稿で利用するレポジトリはこちらです。

https://huggi

元記事を表示

こんにちは

こんにちは

元記事を表示

hazimemashitte

初めまして

元記事を表示

Azure Databricks で 個人データ保護のために UUID を利用してみました

## 概要

個人を特定できるデータをそのまま公開するわけにはいかないので、その個人毎にユニークなランダム文字列(UUID利用)を付与することにより、データ処理できるようにする方法となります。

### ローカル環境

– macOS Monterey 12.1
– python 3.8.3
– Azure CLI 2.28.0

### 前提条件

1. Azure環境がすでに用意されていること(テナント/サブスクリプション)
2. ローカル環境に「azure cli」がインストールされていること
3. Azure Databricks の Workspace 上で Notebook が稼働できていること。

## 事前準備

### データファイルのアップロード

1. 対象の Workspace の Azure Databricks ポータルで [Import & Explorer Data] を選択します
2. 「Drop files to upload, or click to browse」に対象のファイルをドラッグ&ドロップします
3. 「DBFS」タブを選択

元記事を表示

FastAPI+React+DockerでQiitaみたいなサイトを作ってみたい -7日目-

# 目次
– [1日目 – 初期構成](https://qiita.com/ikeikeda/items/eeed5abb2230bf031ba5)
– [2日目 – /docsの作成](https://qiita.com/ikeikeda/items/478b9e9c45b95d8bb482)
– [3日目 – DBとModelの作成](https://qiita.com/ikeikeda/items/5a12fef0fc39d8a5e1c3)
– [4日目 – CRUDの作成](https://qiita.com/ikeikeda/items/ba73f21676d315468a07)
– [5日目 – ユーザの認証の追加](https://qiita.com/ikeikeda/items/f9a738fcf2e6d6022543)
– [6日目 – テストの導入](https://qiita.com/ikeikeda/items/ba65a1408f4f7d92cbaf)

# 7日目 – バリデーションの追加
各Modelのバリデーションを追加し、それぞれのエラーハンドリングを

元記事を表示

ちょこっと機械学習入門の人向けランダムフォレスト回帰でボストン住宅価格を予測

ちょっとだけ機械学習をやってみたい方のための、ちょこっとPythonコードです。
scikit-learnに入っている学習用データセット、ボストンデータセットをランダムフォレスト回帰を使って学習・予測するコードです。

## Anacondaをインストールしてください

最初に入っていない人はAnacondaのIndividual版をダウンロードしてインストールしましょう。

[https://www.anaconda.com/products/individual](https://www.anaconda.com/products/individual)

ダウンロードが完了したらインストーラーを起動して、デフォルトのまま次へ次へでインストールしてしまって大丈夫です。

## Jupyter notebookを起動

Anaconda Navigatorを起動して、ホーム画面にあるJupyter notebookを起動しましょう。
ブラウザが開いたら、右上のメニューの「新規」から「Python 3」を選んで新しいノートブックを作りましょう。

## コードを書いて「Run」ボタンで

元記事を表示

Python+サーバレス開発を勉強する中でzappaがデプロイするリソースについて気になったので調べてみた

## はじめに
– [動かして学ぶ!Pythonサーバレスアプリ開発入門 著:本田崇智](https://www.shoeisha.co.jp/book/detail/9784798169729) を読み
Python+サーバレスを学習する中で
作成したアプリケーションをAWS環境にデプロイしてくれる`zappa`というツールが
どのようにApiGatewayとLambdaを構築したのか気になり、確認した際のメモ

## デプロイするアプリケーション構成
– 参考書のchapter9が完了した時点での構成をざっくり抜粋して書くと、以下のようになる

“`
application
├sever.py # アプリ起動プログラム
├zappa_settings.json # zappa設定ファイル 
└ flask_blog
├__init__.py # 初期処理プログラム
├config.py # アプリケーション設定プログラム
├models/

元記事を表示

WindowsのPowerShellにTensorFlow-GPUを入れて動かした~い

今までPyTorchを使ってきたのですが、TensorFlow For Cを触ってみたくなったので、Windowsでセットアップを行いましたが…?

#環境
– Windows 10
– GPU NVIDIA GeForce RTX 3060 LapTop
– PowerShellで動かしたい

#Instration
基本は[ここ](https://www.tensorflow.org/install/source_windows#install_msys2)見ればわかるらしいけど恐ろしくざっくりしている。

(注)バージョンが合わないと容赦なく動かなくなっちゃうので注意!!

## Visual C++ Build Tools 2019 をインストールする

1. [Visual Studio のダウンロード サイト](https://docs.microsoft.com/ja-JP/cpp/windows/latest-supported-vc-redist?view=msvc-170)に移動します。
1. [再頒布可能パッケージおよびビルドツール] を選択します。
1. 以

元記事を表示

TensorFlowでAlreadyExistsErrorがでた

# エラー内容
環境
* Windows10 x PowerShell
* python3.9
* TensorFlow=2.6.0
* CUDA 11.4
* cuDNN 8.2

Windows10にTensorFlow GPU環境を構築し、学習を回そうとしたら次のエラーがでた

`tensorflow.python.framework.errors_impl.AlreadyExistsError: Another metric with the same name already exists.`
同名のメトリクスを2回読み込んでるよ!的なやつ。
同じモジュールを2回importするとでるやつだけど、心当たりがない。

調べてみるとTensorFlowが持ってるKerasのバージョンとオリジナルKerasのバージョンのミスマッチがあると起こるらしい。(クソすぎでは)
`pip list`をすると`keras==2.7.0`だったので、
`pip install keras==2.6.*`をすると動くようになった

元記事を表示

pyenv + venv + VSCodeでPython環境構築

# 環境
– macOS Monterey
– Homebrew 3.3.9
– pyenv 2.2.3
– VSCode 1.63.2

# 前提
– ログインシェルはzsh
– Homebrewがインストール済
– VSCodeとPython用の拡張機能(Python)がインストール済み

# 構築手順
### pyenvをインストール
:point_right: [https://github.com/pyenv/pyenv](https://github.com/pyenv/pyenv)のインストール手順を参考にしました。

Homebrewでpyenvをインストール

“`
brew update
brew install pyenv
“`

zshの設定

“`
echo ‘eval “$(pyenv init –path)”‘ >> ~/.zprofile
echo ‘eval “$(pyenv init -)”‘ >> ~/.zshrc
“`

:::note info
ここで一旦ターミナルをrestart
:::

依存パッケージをインストール

“`

元記事を表示

[Python]docstringのNumPyスタイルの書き方

**docstring**の**NumPyスタイル**の書き方について簡単にメモしておく。
**docstring**とは、関数やクラスに対する説明を記載する方法の1つ。**docstring**を記載することで、ドキュメントをHTML形式で自動生成することもできる。

# NumPyスタイル
## 基本的な書き方
基本的な書き方は、**reStructuredTextスタイル**や**Googleスタイル**と同じで、関数やクラス定義の先頭に“`”’“`または“`”””“`で説明を囲む形で記載する。

“`python
def my_function():
“””<関数の説明を記載>“””
“`

スタイルごとの違いとしては、引数や返り値などの書き方が異なっている。

## 記載サンプル
NumPyスタイルでの引数や返り値などの記載例は以下のようになる。
サンプルで使用していないセッションについては下記ページを参照。
[https://numpydoc.readthedocs.io/en/latest/format.html#sections](https://

元記事を表示

[py2rb] 辞書 の四則演算

# はじめに
移植やってます。
( from python 3.7 to ruby 2.7 )
# Dict (Python)
辞書の四則演算が必要らしいのですが、辞書を継承してメソッドを追加しているみたいです。
# Hash (Ruby)
“`ruby
class H < Hash def initialize self.default = 0 end def +(other) case other when Hash other.each do |k, v| self[k] += v end when Integer || Float self.each do |k, _| self[k] += other end end end def *(other) case other when Hash other.each do |k, v| self[k] *= v end whe

元記事を表示

【Project Euler】Problem 26: 循環小数

* 本記事は[ProjectEuler](https://projecteuler.net/about)の「100番以下の問題の説明は記載可能」という規定に基づいて回答のヒントが書かれていますので、自分である程度考えてみてから読まれることをお勧めします。

### 問題 26:循環小数

原文 [Problem 26: Reciprocal cycles](https://projecteuler.net/problem=26)

**問題の要約:分母が1000以下の単位分数(分子が1のもの)で循環小数となる循環節が最も長いものの分母を求めよ**

[循環小数(Wikipedia)](https://ja.wikipedia.org/wiki/%E5%BE%AA%E7%92%B0%E5%B0%8F%E6%95%B0)に詳細がありますが、分数は有限小数(Repeating decimal)か循環小数(Rerminating decimal)になり、ここでは$1/d$の形の単位分数で循環小数になるものの循環節の長さを求める問題です。

まず単位分数を小数に変換するプログラム**decUni

元記事を表示

【Project Euler】Problem 24: 辞書式順列

* 本記事は[ProjectEuler](https://projecteuler.net/about)の「100番以下の問題の説明は記載可能」という規定に基づいて回答のヒントが書かれていますので、自分である程度考えてみてから読まれることをお勧めします。

### 問題 24. 辞書式順列

原文 [Problem 24: Lexicographic permutations](https://projecteuler.net/problem=24)

**問題の要約:0123456789を並べ替えたものを辞書式順列にしたとき$10^6$番目を求めよ**

安易ですが、itertoolsのpermutationは「 [iterable に応じた辞書式順序で出力されます](https://docs.python.org/ja/3/library/itertools.html#itertools.permutations)」とのことなのでそのまま使えます。一応”012″で確認します。

“`python
import itertools
for n, perm in enumerate(

元記事を表示

【Project Euler】Problem 23: 過剰数の和

* 本記事は[ProjectEuler](https://projecteuler.net/about)の「100番以下の問題の説明は記載可能」という規定に基づいて回答のヒントが書かれていますので、自分である程度考えてみてから読まれることをお勧めします。

### 問題 23. 過剰数の和

原文 [Problem 23: Non-abundant sums](https://projecteuler.net/problem=23)

**問題の要約:過剰数の和にならない数の合計を求めよ**

[過剰数(Abundant number)(Wikipedia)](https://ja.wikipedia.org/wiki/%E9%81%8E%E5%89%B0%E6%95%B0)の定義はこちら。今回は2つの過剰数の和で表せない数を列挙して合計を求めよと言うもの。問題では28123より大きい数は必ず和で表せるとありますが、Wikipediaによると20161が最大のようです。

過剰数の判定は「[Problem 21: 友愛数](https://qiita.com/masa0599/item

元記事を表示

OTHERカテゴリの最新記事