Python3関連のことを調べてみた2021年09月18日

Python3関連のことを調べてみた2021年09月18日

Python初心者はWordCloudをやってみたい1

#始めたきっかけ
pythonの勉強をしたくて、基礎的な勉強をしていたけどつまらない!基礎は必要だけどやっぱり何かを作らないと成長してるという実感が湧かず、pythonで出来る事を探していたらこんな記事を見つけた。
[米津玄師の歌詞をWordCloudで可視化してみた。](https://qiita.com/Senple/items/1ad08b1a7ac9560bef62)
なんだこれ、めちゃくちゃ面白そう!と思い、これをやってみる。

いきなり全部をやろうとすると、どこかで躓いて辞めそうだから初学者は黙って一歩ずつやってく。
初めは形態素解析についてを勉強し、その後にWordCloudをやっていくつもり。

最終目標は、入力で好きなアーティストの歌詞でできるようにしたい。
技術云々の前に、そもそもそんなことできないよ〜って言われたら言われたでしょうがないけど、とりあえずやるだけやってみる。

#環境
Google Colaboratory

※初めてGoogle Colaboratoryを使う方は、こちらを参考にマウントしてみてください。
[Google Colaboratoryで

元記事を表示

Flaskでバックグラウンド実行

[PythonでThreadを使うflaskサンプルを作ってみた \- Qiita](https://qiita.com/juri-t/items/5cec3822e168215aff49)
の練習とブラウザで操作できるようにstart,stopボタンをつけてみた。

uwsgiなどで並列プロセス化するとjobs変数共有できないので、別途ジョブキューのceleryなどを使ったプロセス作る必要がある。

“`py:app.py
from datetime import datetime
from flask import Flask, make_response
from time import sleep
import threading

app = Flask(__name__)

class MyThread(threading.Thread):
def __init__(self):
super(MyThread, self).__init__()
self.stop_event = threading.Event()

元記事を表示

かの有名なFrog問題に奮闘する

#Topic
– 前の記事に引き続き,お世話になっている「問題解決能力を鍛える!アルゴリズムとデータ構造」関連の話.
– Frog問題(AtCoder Educational DP Contest A – Frog 1)の別解を考えたい

## 別解??
Frog問題は,[AtCoder Educational DP Contest A – Frog 1](https://atcoder.jp/contests/dp/tasks/dp_a)を参考されたい.
ここでは,自分の考え方を記述しておく.(実装はまだできていない)

“`Python
#xはコスト,iは段数
func(x,i):
if i == n-1: return
func(x + abs(h[i+1] – h[i]), i+1)
func(x + abs(h[i+2] – h[i]), i+2)

#初期値は0で,段数は0段目から始まるからx,iに0を代入
func(0,0)
“`

実現したいこととしては,再帰で0段目からN段目までのコストを全て計算させること.
ただ,分かってもらえるとおりこ

元記事を表示

pythonのbottleでちょっとしたAPIサーバを作る

ちょっとしたAPIサーバがほしいとき、pythonで手軽に作ることができます。

“`requirements.txt
bottle==0.12.18
“`

“`app.py
# -*- coding:utf-8 -*-
from bottle import (get, HTTPResponse, default_app)
from wsgiref.simple_server import WSGIServer, make_server
from socketserver import ThreadingMixIn
import json

class ThreadingWSGIServer(ThreadingMixIn, WSGIServer):
“””
マルチスレッドなWSGIServer
“””
pass

@get(‘/active’)
def is_active():
return ‘OK’

@get(‘/testget’)
def test_get():
dummy_response = {
‘v

元記事を表示

Gradient Descent – Beginner’s Guide

#### Introduction.

When starting machine learning in university, one of the firstly learn a thing is a gradient descent. Gradient descent is a viral optimization algorithm utilized to train machine learning.
It is used in neural network modeling to achieve better results by returning the most minor possible error.

I’m not going to theory part in this article. Let’s see how it works using PyTorch.

“`gd.py
import torch
import matplotlib.pyplot as plt
torch.manual_seed(1989);
“`
First, let’s

元記事を表示

【競プロ典型90問】010の解説(python)

## 概要
[競プロ典型90問](https://atcoder.jp/contests/typical90)の解説記事です。
解説の画像を見ても分からない(~~理解力が足りない~~)ことが多々あったので、後で解き直した際に確認できるようまとめました。

※順次、全ての問題の解説記事を挙げていく予定です。
※★5以上の問題は難易度的に後回しにしているため、投稿時期が遅くなる可能性があります。(~~代わりに丁寧に解説してくれる方いたらぜひお願いします~~)

## [問題010-Score Sum Queries](https://atcoder.jp/contests/typical90/tasks/typical90_i)

### 問題概要
N人の生徒が2つの組に分けられている時、各クラスの学籍番号L~R番の合計点を求める。
これをQ個のクエリにて行う。

### 解き方
まず初めに、愚直にQ個のクエリ1つ1つに対して、L~R番までの合計を都度求める方法が考えられますが、
この考えでは、L~R番までの合計を求める処理で、最大N回、
これを最大Q回行うと $O(QN)$ となり、TL

元記事を表示

【pytorch備忘録】multi-target not supported at なんちゃら/ClassNLLCriterion.cu:15というCrossEntropyLoss()のエラー対策

絶賛pytorch勉強中の人間の備忘録です。
あるデータに対しては動いていたはずの学習/検証のための関数を別のデータに適用したら“`CrossEntropyLoss()“`の部分が“`multi-target not supported at なんちゃら/ClassNLLCriterion.cu:15“`というエラーを吐くようになりました。
# 修正前
(不慣れで冗長なコードですすみません・・・・)

“`train_valid_loop.pyの一部
def train_valid_loop(
train_loader, valid_loader, valid_data_tensor, valid_label_tensor, model,
n_epoch, optimizer):
train_acc_list = []
train_loss_list = []
valid_acc_list = []
valid_loss_list = []
auc_score_list = []

for epoch in ra

元記事を表示

Selenium Tips

仕事でSeleniumを扱い、色々と調べたことを備忘録も兼ねて書いておく。
言語はPython。

# 実行環境
[この記事](https://qiita.com/tennis_lover/items/4151d2be551fb239b56d)に書いてある通り、Docker上でSeleniumを動かしている。

# シークレットモードで実行
“` set_secretmode_sample.py
# Options の設定(ブラウザ設定)
options = webdriver.ChromeOptions()
options.add_argument(‘–incognito’) # シークレットモードに設定する
“`

# SeleniumでJavascriptを実行する
“` execute_script_sample.py
# Selenium Server に接続する
driver = webdriver.Remote(command_executor=’http://localhost:4444/wd/hub’,
de

元記事を表示

【Python Django】マイグレーション(DB)をロールバック、元に戻す

Djangoはマイグレーションファイルからテーブルの定義変更や追加する機能がDjango ORマッパーにあります。さらに「ロールバック」つまり、マイグレーションファイルをもとにデータベースを前の定義に戻すこともできます。

用途としては、

– チームで開発してて、migrateした後に「こっちに修正した方が良くない?」と言われたので修正必要
– migrateしたけど、定義抜けてたからロールバック(戻して)定義追加し直したい

などに使えます。
ある程度Djangoで開発していくなら必須の知識ですね!

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260345/e01c93ce-0bc6-1984-da1d-354054ad3484.png)

DjangoのDB・モデルの基礎は以下のように書いてますので良ければ

https://qiita.com/Bashi50/items/280bc341eeec5d7f8797

今回以下の記事のmodel定義を使用して記事作成しました。

元記事を表示

Windows10でtensorflow-gpuを動作させよう

# 読者のターゲット
Win10でdeeplearningしたい
Anacondaの仮想環境内で深層学習の環境を作りたい
GPU持ってる(NVIDIA製)
Python3.7, Tensorflow 2.6.0

# 環境構築の前に
Anacondaは入っている -> まだの場合は[こちら](https://www.anaconda.com/products/individual-d#Downloads)
NVIDIA デベロッパーアカウントを作っている -> まだの場合は[こちら](https://developer.nvidia.com/login)
GeForce のドライバをダウンロードしている -> まだの場合は[こちら](https://www.nvidia.co.jp/Download/index.aspx?lang=jp)
cuda ツールキットもダウンロードしている -> まだの場合は[こちら](https://developer.nvidia.com/cuda-toolkit)

## PythonでGPUを使うために
### cuDNNのダウンロード
cuDNNダ

元記事を表示

Python3: Kinesis Data Stream の使い方

次のページを参考にしました。
[Boto3 documentation -> Kinesis](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kinesis.html)

ストリームを作成

“`py:create_stream.py
#! /usr/bin/python
#
# create_stream.py
#
# Sep/16/2021
#
import boto3
#
name_stream=’sample_sep16′
#
client = boto3.client(‘kinesis’)
response = client.create_stream(
StreamName=name_stream,
ShardCount=1
)
#
“`

ストリームをリスト

“`py:list_streams.py
#! /usr/bin/python
#
# list_streams.py
#
# Sep/16/2021
#
import bo

元記事を表示

Fundamental Statistics for Data Science (Part 02)

continuation from [Fundamental Statistics for Data Science (Part 01)](https://qiita.com/qualitia_cdev/items/ad872ebbcd408e613218).

###### 5) Mean
Mean is also famous as average in mathematics, which can be obtained by summing all the observations and divided by the number of data points.

Let us think that a random variable has the following data. N is the number of data points.

X = { x1, x2, x3, . . . , xN }

We can calculate the mean using the fo

元記事を表示

Python初心者を脱出するための実践レシピ10選

# はじめに

Axrossを運営している藤原です。

**[Axross](https://axross-recipe.com/recipes)** は、エンジニアの”教育”と”実務”のギャップに着目し、「学んだが活用できない人を減らしたい」という想いで、ソフトバンク社内起業制度にて立ち上げたサービスです。

現役エンジニアによる実践ノウハウが”レシピ”として教材化されており、Pythonプログラミングを活用して実際の業務に近いテーマで、動くものを作りながら学ぶことができます。

Axross:https://axross-recipe.com
公式Twitter:https://twitter.com/Axross_SBiv
![Axrossアイキャッチ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620853/9f500e0e-a759-20e2-bb8b-480bbcfaaf9b.png)
# Pythonについて
Pythonは、AI・機械学習の技術領域で活用され、近年人気なオープンソースの

元記事を表示

sys.path.append()でモジュール探索パスを追加したがインポートができなかったのはpip installしたパッケージが原因だった

# 概要
自作モジュールを相対パスでimportしたく、`sys.path.append(os.path.dirname(__file__)`を入れたのに何故かimportができなかった。

# 結論
pipで入れていたパッケージと自作モジュールで利用していた名前が被っていたため、pipで入れたパッケージを読み込みにいってしまっていた。

# 環境
* Windows10
* miniconda

# 詳細
以下のような構成で自作モジュールを呼び出そうとしたところ、`libs.utils`が見つからないと`ModuleNotFoundError`が発生。

“`
parent_dir/
|- my_modules/
| |- libs/
| |- utils.py
| |- my_module.py
|- controller.py
“`

`controller.py` ⇒ `my_module.py` ⇒ `utils.py`と呼び出す流れ。

## 各モジュールのコード

“`python:controller.py
from my_m

元記事を表示

ketosで音響解析その2

#はじめに
前回の記事でデータベースを作成したので今回はそれを基に検出器を作成していきます。

必要なデータはここにあります。
前回作成したデータベースや今回のコードも入っています。

#分類器のトレーニング
まずはチュートリアルで使用されるランダムシードを定義する必要があるようです。

“`py
import numpy as np
np.random.seed(1000)

import tensorflow as tf
tf.random.set_seed(2000)
“`

##インポートする
今回使うものです。

“`

元記事を表示

ketosを使って音響解析。音響解析、機械学習用ライブラリ

#ketosとは
ketosとはpythonのライブラリで、音響データと機械学習を扱うことができる、音響解析に特化したライブラリです。
目的としては水中音響における難しい検出と分類を行う機械学習モデルの作成を支援することとなっています。
ketosという名前は古代ギリシャ語で大きな魚、クジラ、サメ、または海の怪物を表すらしい…かっこええ…

公式ドキュメント

#ketosのインストール

ketosの最新版はpython3.6以上,3.8未満で動作します。
pipでインストールできます。

“`py
pip install ketos
“`

#基本的なトレーニングデータベースの作成
公式ドキュメントのチュートリアルに沿って説明します。
チュートリアルでは北大西洋セミクジラの鳴き声を検出します。
手順としては音声データからスペクトログラムを作成し、機械学習を行い、検出器を構築します。

チュートリアルで使用するデータが欲しい方は

元記事を表示

AIZU ONLINE JUDGE 「ITP I」40問をpythonで解いてみた

本記事では[「レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】」](https://qiita.com/e869120/items/f1c6f98364d1443148b3)で紹介されているAOJの[「Introduction To Programming I」](https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/1)の40問をPythonで解説します。

# [ITP1_1_A Hello World](https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/1/ITP1_1_A)
“`python:ITP1_1_A
print(“Hello world”)
“`
【解説】 `print`関数を使用し、`Hello World`を出力します。

詳しい解説は[こちら](https://tysonblog-whitelabel.com/aizu-online-judge-itp1_1_a)

# [ITP1_1_B X:Cub

元記事を表示

AWS Cost ExplorerのAPIとGUIで額が違う?と思って調べた記録

# 目的
AWS Cost ExplorerのAPIを利用して月ごとの額を確認しようと思ったとき、
APIで出た額とGUI (コンソールのCost Explorer) の額がずれていたため、その原因を探りました。
結果、私の単純なミスであり、単純であるがゆえに調べてもなかなかヒットしなかったため記録として残します。

同じ状況に遭遇し、無駄撃ちはしたくない場合(AWS Cost Explorer APIは2021年現在[1回あたり0.01 USD](https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/ce-what-is.html)のため)、こちらの記録を参考としてください。

# 結論
悪い例:
`start_date = “2021-08-01″`
`end_date = “2021-08-31″`

正しい例:
`start_date = “2021-08-01″`
`end_date = “2021-09-01″`

と「1ヶ月分」を指定する際は、end_dateは31日ではなく翌月の1日

元記事を表示

Python3 Tkinter 右クリックしたらメニューの出るエントリの作成

#1. はじめに

今回はTkinterで,右クリックしたらメニューの出るエントリの作成を作成する.

#2. ソースコード

“`Python:myentry.py
import tkinter as tk

class MyEntry(tk.Entry):
def __init__(self, master):
self.default_fontfamily = “Yu Gothic UI”
self.default_fontsize = 10

super().__init__(master)
self.__create_menu()
self.__bind_event()

def __create_menu(self):
self.menu = tk.Menu(root, tearoff=0, background=”#111111″, foreground=”#eeeeee”, activebackground=”#000000″, activefo

元記事を表示

【python】google-ads v8.2.0 → v14.0.0 にアップデートの際に変更した箇所

# 1. 概要
 google-ads ライブラリを使用してAPIを叩いて広告配信結果(kpi)を取得するバッチ処理を実行していましたが次のようなエラーを吐くようになりました。

“`
Request made: ClientCustomerId: xxxxxxxxx, Host: googleads.googleapis.com:443,
Method: /google.ads.googleads.v6.services.GoogleAdsService/Search,
RequestId: yyyyyyyyyyyy, IsFault: True,
FaultMessage: Version v6 is deprecated. Requests to this version will be blocked.
Request with ID “yyyyyyyyyyyy” failed with status “INVALID_ARGUMENT” and includes the following errors:
Error with message ” Version v

元記事を表示

OTHERカテゴリの最新記事