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

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

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

元記事を表示

Fundamental Statistics for Data Science (Part 01)

This article series will present some of the statistical concepts you need to learn when paddling down the data science exploration.
While you are beginning your data science or analytics journey, having statistical awareness will assist you in leveraging data insights. We cannot underrate the significance of statistics in data science and data analytics.

Acknowledging the fundamentals of statistics will empower you to think better and be creative when utilizing the data to solve issues.

####

元記事を表示

Mediapipeを使ってみた

# Mediapipeで顔認識をする話

## インストール
まずはmediapipeのインストールから。pipインストールでok。

““
pip install mediapipe
““

### MediaPipeでできること
– 顔検出
– 顔認識
– 虹彩の追跡
– 手、上半身、全身の骨格推定
– 髪のセグメンテーション
– 物体検出
– トラッキング
– 立体的な物体検出
– KNIFT

今回行うのは上記の中にある顔検出です。

## コード

““ python
import mediapipe
import cv2
import numpy
import mediapipe as mp
import math
import matplotlib.pyplot as plt

mp_drawing = mp.solutions.drawing_utils

img = cv2.imread(‘顔検出したい画像のpath’)
mp_face_detection = mp.solutions.face_detection

face_detection=

元記事を表示

ID&PASS LINE bot

ブログ記事は[こちら](https://cyrus.tokyo/blog/idpass-line-bot “ID&PASS LINE BOT”)
[こちら](https://qiita.com/kro/items/67f7510b36945eb9689b “PythonでLine botを作ってみた”)を参考にさせていただきました。

“`python
from flask import Flask, request, abort
import pandas as pd

from linebot import (
LineBotApi, WebhookHandler
)
from linebot.exceptions import (
InvalidSignatureError
)
from linebot.models import (
MessageEvent, TextMessage, TextSendMessage,
)
import os

app = Flask(__name__)

#環境変数取得
YOUR_CHANNEL_ACCESS_TO

元記事を表示

Asana のあるプロジェクトから未完了タスクの一覧を出す

Python で Asana から未完了タスクの一覧を出す方法を紹介します。

ここでは、 Python で、スプレッドシートに貼り付けるためのデータを取得します。

## 作りたい表の形

Asanaのタスクから、次のようなスプレドシートの表を作ることにします。

| Section | Task | Status |
|:–|:–|:–|
| セクション1 | タスク1 | ステータス1 |
| セクション1 | タスク2 | ステータス1 |
| セクション1 | タスク3 | ステータス2 |
| セクション1 | タスク4 | ステータス2 |
| セクション2 | タスク5 | ステータス1 |
| セクション2 | タスク6 | ステータス1 |
| セクション2 | タスク7 | ステータス2 |
| セクション2 | タスク8 | ステータス2 |
| セクション3 | タスク9 | ステータス2 |
| セクション3 | タスク10 | ステータス3 |

## 環境

* Python 3.9.0
* pyperclip
* asana

## コード

元記事を表示

OTHERカテゴリの最新記事