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

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

Text to speech with python

# 初めに

PythonでText to Speechを実装してみました。

# 設置

https://pypi.org/project/pyttsx3/

“`python
pip install pyttsx3
“`

# 使い方
とても簡単です。

“`python
import pyttsx3
#初期化
engine = pyttsx3.init()

#声の選択
voices = engine.getProperty(‘voices’)
engine.setProperty(‘voice’,voices[0].id)

#喋りのレートを設定
engine.setProperty(‘rate’, 150)

#喋らせる
engine.say(‘おはようございます!’)

engine.runAndWait()
“`

Voiceの確認。個人のパソコンの環境によって異なります。下記のプログラムでどんな言語に対応する声が用意されているか確認が可能です。

“`python
import pyttsx3

engine = pyttsx3.init()
voices =

元記事を表示

Azure Functions (Python, pytest)でカバレッジを可視化する方法

[こちらの記事](https://qiita.com/moshi/items/21a6ff0a20cd840f71ea#%E3%82%AB%E3%83%90%E3%83%AC%E3%83%83%E3%82%B8%E5%8F%AF%E8%A6%96%E5%8C%96%E5%AE%9F%E8%A1%8C)を参考に、Azure Functions (Python)のプロジェクトでも可視化できないか試行錯誤しました。

## 要点

`.vscode\settings.json`の`python.testing.pytestArgs`には`–cov=.`を指定する。

### 補足

`–cov`にはソースコードのフォルダーを指定するものと思っていました。
そのため、AzureFunctionsの関数別のフォルダー名を複数指定していました。
それだと、Visual Studio Code上でカバレッジが可視化されませんでした。
拡張機能 coverage-gutters の Github Issuesで質問したところ、
開発者の方が確認してくださり、回答をいただけました。

URL:

元記事を表示

PythonでWindows サービス(SocketServer)を作成

Windows 2019Server(Windows10でも同じ)
Python 3.7.8

# Pythonをインストール
python-3.7.8.exeを使用してインストール
今回は諸事情で32bit版をインストールしていますが64bit版でも問題ないはず

# ライブラリのインストール
Windowsサービスということで今回はpywin32を使用する
“`
pip install pywin32
“`
※もし上記のコマンドで64bit版のpywin32がインストールされてしまう場合は32bit版の.whlファイルを事前に準備し直接指定してインストールを行いましょう

# 環境変数
以下の6つの環境変数が設定されていることを確認する

“`
# ユーザ環境変数.path
C:\Users\<ユーザ名>\AppData\Local\Programs\Python\Python37-32\Scripts\
C:\Users\<ユーザ名>\AppData\Local\Programs\Python\Python37-32\
“`
“`
# システム環境変数.path
C:

元記事を表示

【Python】複数のAIエージェントを用いてドットイートゲームをクリアしてみた【Pyxel】

# はじめに
複数のAIエージェントを用いてドットイートゲームをクリアしてみました。
ソースコードは[こちら](https://github.com/kaito11201/RL_PacMan)になります。
![概要プレイ.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1495498/ab43f9c9-6131-5278-916c-74bdfb70e172.gif)

# 背景
[こちら](https://www.itmedia.co.jp/news/articles/1706/15/news058.html)の記事を読んで、自分でもAIの力を使ってゲームをクリアしてみたいと思ったのがきっかけです。
しかし、ただクリアするだけでは面白くないと思ったのと、AIエージェントが協力するとどういった行動が見られるか気になり、複数のAIエージェントを用いてみました。

# 目標
今回のプログラムは以下の2つを目標に作成しました。
– **ゲームクリア**
まず最低限、自分が設定した簡易的なドットイートゲームのクリア

元記事を表示

登山コミュニティ用アプリ開発(構想)

# 内容

趣味でやっている登山サークルの、コミュニケーション力をUPすること
サークル https://www.facebook.com/kansaitozan
ブログ https://arafo40tozan.hatenadiary.jp/entry/2022/05/22/122018

# 課題
SNS上の人間関係の構築なので、いろいろ手続きがあり大変だ。
YAMAPなどのアプリはあるが、このアプリだけではカバーしきれない。

## 今やっているフロー

以下はイベント企画としての自分のタスク

1)最初に集合場所と時間に目途を付ける
2)YAMAPでコースプランを入力
3)調整さんを使って、いくつかのアンケートを実施
4)FACEBOOKイベントに投稿して、メンバーを招集する
5)メッセンジャーグループを作って参加者を確定する
6)ニックネーム登録を促して、チームを盛り上げる
7)下見のつぶやきをして、参加者を募る

# 実装したいこと

1)顧客ニーズの可視化

 ネットワークXを使って、イベント参加者の関係を可視化したい
 
2)参加者の特徴抽出
 
 FACEBOOKの投

元記事を表示

[Django]プロジェクト前にやっておいた方が楽な設計

## この記事のメリット

– ソースコード管理が楽になる
– 多人数のプロジェクトのときにコンフリクトを起こしにくくなる
– 大幅な変更にも対応しやすい
– ファイルが細かく分かれているためloggingで発見しやすい

## viewsの構成作る

startappでsampleディレクトリを作ることを仮定する

“`
sample/
├ views.py
├ src/
└ first_func/
└ first_func_get.py
first_func_post.py

“`

views内にある1つの関数に対してMethodで呼び出す関数を変更する。
例えば下のようにgetが飛んできた場合はfirst_func_get()という関数をfirst_func_post.pyから呼び出す。

その他の認証ユーザーのみや共通的なロギングなどもviews内の関数に書くかデコレーターを使うのがおすすめ。

“`python:views.py
from .src.sample.first_func_g

元記事を表示

エロマーケットプレースの研究シリーズ 1: エロマーケットプレースを調べたい

# エロマーケットプレースという言葉を定義しよう

以下のようなエロいコンテンツを置いている場所で

– FANZA ビデオ
– FANZA 同人
– FC2 コンテンツマーケット
– FC2 ビデオ
– DLSite
– KoeKoe

そのコンテンツが以下のような情報を持っている

– タグ、タイトル、本文などコンテンツを分類する情報
– 再生数、販売数、お気に入り数、評価数、などのコンテンツの品質や成功度合いを示す情報

僕は、これを今日からエロマーケットプレースと呼ぶことにする

# まずやりたいことを考える

二つ考えた

– タグ、タイトル、本文などから、売り上げなどを予測する(順問題)
– どんなタグ、タイトル、本文が売れているのか(逆問題)

逆問題の方が圧倒的に面白そう

# データや具体的なサイト名は公開しない

これは、人のサイトをクロールして情報を取得してくる必要がありそうなので、その情報やサイト名などは公開しない方針とする。

進捗とできる限りのコードは載せていこうと思う。

# 分析どうやってやる?

例によってパワフルなGPUもないし、クラウドもめんどくさ

元記事を表示

Django REST Frameworkのバージョン管理を誤った結果、AttributeErrorでドハマりした。

### 環境情報

– Python…3.8.13
– Django…3.2
– Django REST Framework.. 3.2.0(※注目)
– 認証方式… Cookie認証

### 実行失敗したコマンド

“`
# マイレーションファイルを生成
python manage.py makemigrations shop
“`

### 出力エラーの一部

“`
File “/Users/ユーザー名/python-projects/drf_vue_cookie_auth/config/urls.py”, line 23, in
path(‘api-auth/’, include(‘rest_framework.urls’)),

File “/Users/ユーザー名/opt/anaconda3/envs/djangoenv/lib/python3.8/site-packages/rest_framework/urls.py”, line 23, in
url(r’^login/$’, views.log

元記事を表示

LSGAN(Pytorch)

# 概要
LSGANとは
* 損失関数に平均二乗誤差(MSE)を利用
* 識別器でSigmoid関数を使用しない

以上をGANに組み込むことで、
勾配消失を抑えて学習が効率的に進むように工夫したGANです。

# 損失関数
## Sigmoid関数の問題点
sigmoid関数は以下のような数式とグラフになります
![Sigmoid.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/670347/ab3dfafb-04fd-1a59-1816-8c0fbe0880c5.png)
$f(x) = \frac{1}{1+e^{-x}}$

sigmoid関数では出力値が[0~1]の間をとるようになっており、
これを確率と捉え、二値分類でSigmoid関数を使用されることが一般的です。

一方GANの損失関数は以下の通りになります
$min_Gmax_DL(D,C) = E_{x~p_{data}(x)}[logD(x)] + E_{x~p_{z}(x)}[log(1-D(G(z)))]$
識別関数は本物か偽物か

元記事を表示

ラズパイでキーエンスのデバイスの値をロギング

# KEYENCEの上位リンクコマンドを使ってPLCのメモリをロギング

## 環境
Python3.9

https://github.com/OkitaSystemDesign/memlog/tree/main/KEYENCE

#### ディレクトリ構成
“`
.
├─ kvhostlink.py
├─ memlogKV.py
└─ log
└ ログファイル
“`

## 実行例
“`
memlogKV(0.1, 100, ‘log’)
“`
## ファンクション
### memlogKV(interval, recnum, logpath)
定周期でlogwriteを実行します

#### interval : 収集周期
収集する周期を入力します 単位は秒
例:0.1

#### recnum : 収集個数
設定した個数を収集するとプログラムを終了してファイルを閉じます

#### logpath : 収集ファイル出力ディレクトリ
ロギングするファイルの出力先です
ここで指定したディレクトリの下にファイル名は”logYYYYMMDD_HHSS.csv”で

元記事を表示

DeepL APIを使って英 ↔ 日翻訳してくれるdiscord botをつくった

# はじめに
discord.pyにて、「DeepL APIを使って英 ↔ 日翻訳してくれるdiscord bot」を作りました。
記事を書くのもコードを書くのもほぼ初心者ですが
温かい目で見ていただけると幸いです。

:::note warn
既にbotがある前提で進めていきます。
そのため、discord botの具体的な説明や導入は省略させていただきます。
:::
## deeplライブラリのインストール

“`python3
pip install deepl
“`
エラーが出るかもしれませんが何ら問題ないと思います。たぶん。

## コード全文
“`python3:python3.8.3
import discord
import re
import deepl

TOKEN = “Your bot’s token”

client = discord.Client()

def is_japanese(str):
return True if re.search(r'[ぁ-んァ-ン]’, str) else False

@client.event
async

元記事を表示

統計学的検定の論文・レポートの書き方

# 独立二標本データの平均値の差の検定の実施例

いわゆる **t 検定** だけど,正確に言うとこういうことになる。

R に用意されている,試料別のひよこの体重を例としてあげる。

Crowder, M. and Hand, D. (1990), Analysis of Repeated Measures, Chapman and Hall (example 5.3)
Hand, D. and Crowder, M. (1996), Practical Longitudinal Data Analysis, Chapman and Hall (table A.2)
Pinheiro, J. C. and Bates, D. M. (2000) Mixed-effects Models in S and S-PLUS, Springer.

The ChickWeight data frame has 578 rows and 4 columns from an experiment on the effect of diet on early growth of chicks.

元記事を表示

『Python2年生 データ分析のしくみ』で勉強中

## この記事について
『Python2年生 データ分析のしくみ』(以下、書籍)でPythonを学習する超初心者の記録です。
過去の記事では1冊を数記事に分けて書いていましたが、今回は1記事で1冊ぶん。

■ バックナンバー
・[『Python1年生』で勉強中(その1)](https://qiita.com/megrim_q/items/c1417f507e96c1fb7015)
・[『Python1年生』で勉強中(その2)](https://qiita.com/megrim_q/items/333be033e5b4637d0eed)
・[『Python1年生』で勉強中(その3)](https://qiita.com/megrim_q/items/904f83c6a7e8594b7212)
・[『Python2年生 スクレイピングのしくみ』で勉強中(その1)](https://qiita.com/megrim_q/items/8de631d051ddd9cc4249)
・[『Python2年生 スクレイピングのしくみ』で勉強中(その2)](https://qiita.com/megr

元記事を表示

Pylanceの括弧()の自動補完がclass名やrangeなどで効かないときの対処法

VSCodeのPylanceを使用しているときに`range`,`list`,`int`,`str`,classのインスタンス化などで括弧を補完してくれない問題への対処法の備忘録です
設定の`python.analysis.completeFunctionParensprint`が既に有効で、`print`関数などは普通に補完されている状態が前提です
## コード例
“`Python
rang #ここで補完
range() #想定した挙動
range #実際の挙動

class Hoge():
pass
Hog #ここで補完
Hoge() #想定した挙動
Hoge #実際の挙動
“`

## 対処法
設定の`python.languageServer`を`Pylance`もしくは`Default`から`Jedi`に変更します
後述のように、今のところ(そしてこれからも)これしか方法がないと思います
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1092391/44cdfaa2

元記事を表示

【データ処理】boxcox変換で正規分布に近づける

# はじめに

機械学習ではデータの分布を正規分布に近づけると、予測精度が改善する場合が多々あります。正規分布に近づける手法の一つとして、boxcox変換が存在します。

# boxcox変換
boxcox変換は対数変換などと異なり、多様な分布を正規分布に近づけることが可能であるため、様々なデータに応用可能です。本記事では以下の処理をPythonで実行します。
– Pythonでboxcox変換を行う
– boxcox変換後のデータをもとに戻す

boxcox変換の詳細な説明は省略しますが、下記のサイトで分かりやすく説明されています。
[Box-cox変換を用いて正規分布に従わないデータを解析をしてみよう!](https://toukei-lab.com/box-cox%E5%A4%89%E6%8F%9B%E3%82%92%E7%94%A8%E3%81%84%E3%81%A6%E6%AD%A3%E8%A6%8F%E5%88%86%E5%B8%83%E3%81%AB%E5%BE%93%E3%82%8F%E3%81%AA%E3%81%84%E3%83%87%E3%83%BC%E3%82%B

元記事を表示

LINEグループにBotからメッセージ送信する

LINEグループにプログラムからメッセージを送りたい、と思ったことはありませんか?
SlackやChatworkに比べると手順がやや複雑で手間がかかったので、備忘も兼ねて設定手順を記事に残します。
もし何かの参考になれば幸いです!

# 完成形

“`python:example.py
import os
from linebot import LineBotApi
from linebot.models import TextSendMessage

channel_access_token = os.getenv(‘LINE_CHANNEL_ACCESS_TOKEN’)
group_id = os.getenv(‘LINE_GROUP_ID’)
msg = ‘Hello World!’

line_bot_api = LineBotApi(channel_access_token)
line_bot_api.push_message(group_id, TextSendMessage(text=msg))
“`

pythonでメッセージ送信する一例です。
`チャネルアクセスト

元記事を表示

AWS Lambda PythonでULIDを使う

# AWS Lambda でULIDを使う(ライブラリをコピーして使う)
– 以前は、dockerコンテナ使ってULIDを生成したけど、もう少し手軽さが欲しい
– Lambda Layerまで使いたくない
– ULIDは、https://github.com/mdomke/python-ulid を使ってみる
– とりあえず動かすだけ

# AWS Lambda Functionの作成
– マネジメントコンソールで関数を作成します
– 参考画像
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1482752/06df3862-fd95-ba22-5128-1d786192955f.png)

![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1482752/1b098bb0-73aa-41fb-5f45-b901513cfb1e.png)

# python-ulid の ulid ディレクトリと中

元記事を表示

pywinautoでテスト自動化(電卓アプリ)

今回はpywinautoを用いて、電卓アプリのテスト自動化をしてみました。
その内容について、記載したいと思います。

# 伝えたいこと

– pywinautoはGUIアプリを自動操作するツールの1つで、要素指定方法を選択できる(Win32 api or UI Automation)
– pywinautoとpytestを組み合わせればテスト自動化できる

# 今回実施した環境

| 項目 | バージョン |
|:———–|:————|
| OS | Windows 10 pro |
| Python | 3.9.6 |
| pywinauto | 0.6.8 |
| pytest | 7.1.2 |
| Pillow | 9.1.1 |

## pywinautoとは

– Microsoft WindowsGUIを自動化するためのPythonモジュールのセット
– 特長としては、要素指定する時のバックエンドを選択可能(Win32 AP

元記事を表示

Pythonでスロープグラフを(なるべく簡潔に)描く

Pythonでいい感じのスロープグラフを描けるコードを書いたので記事にします。
スロープグラフは2時点の前後比較をする際に便利なグラフです。

# アウトプットのイメージ

![custmized_slope](https://user-images.githubusercontent.com/104950574/169690693-525e79c9-b955-4fa9-a6a8-0cb7e8aa6a1b.jpeg)

※中身のデータは適当です。
# このアウトプットのよいところ
– 余計な情報が削ぎ落とされて見やすい
– 強調したい部分がひと目で分かる
– 直線の傾きで傾向がわかるので理解しやすい

# 本記事の想定読者
– Pythonユーザー
– matplotlibを利用することがある
– 時系列の前後比較でよいグラフをつくりたい

# 記事の背景
– 『Google流資料作成術』という筆者イチオシの本があります。 [^1]
データの可視化表現について、極めてシンプルかつ実践的に解説されています。
– この本の中で紹介されているスロープグラフをmatplotlibで描こうとしま

元記事を表示

【AWS】SageMakerStudioでノートブックをスケジュール実行する

# 概要
本記事では、**SageMakerStudio**というAWSのサービスにおいて、Notebookに記述した処理をスケジュール実行する方法について説明していきます。

普段の業務でモデルの学習時間に7時間ほどかかってしまうので、「業務時間外に実行、始業時間以降に結果を確認」というフローを実現したかったのです。そこで**sagemaker-run-notebook**という便利なライブラリがあることを知り、使い勝手がよかったので記事を書いてみました。

普段SageMakerで開発を行なっている方で、「実行時間が長いので夜中に実行しておきたい」「毎日同じ処理を決まった時間帯に実行したい」といった悩みを持っている方の参考になれば嬉しいです。

# 目次
[1.SageMakerStudioとは](#1-SageMakerStudioとは)
[2.全体像](#2-全体像)
[3.手順の説明](#3-手順の説明)
[4.拡張機能の使い方](#4-拡張機能の使い方)
[5.最後に](#5-最後に)

# 1. SageMakerStudioとは
>Amazon SageMaker S

元記事を表示

OTHERカテゴリの最新記事