Python3関連のことを調べてみた2020年04月22日

Python3関連のことを調べてみた2020年04月22日
目次

物体検出SSD詳しく紹介(一)DefaultBoxes作成

### 背景
最近機械学習分野の物体検出を初めまして、知っているSSDモデルについて紹介したいとおもいます。ここはSSD300についてしょうかいします。
今回は第一編です、DefaultBoxesについて紹介したいとおもいます
### SSDとは
一枚の画像に含まれている複数の物体に対して、物体名と物体の領域を文字と枠から表示するものです

![SSD物体検出.014.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191439/beec980d-ef78-0cf1-3ef6-a0bcba178e7a.jpeg)

入力:
300*300*3の画像(3は色のチャンネル)

出力:
1. 物体を枠で囲むボックス(バウンディングボックスの座標と横幅、縦幅)
2. 物体はなんの種類なのか

###流れ
では、入力から出力まで、どのようなものが行われてるか、一言でいいます。
訓練:
![SSD物体検出.015.jpeg](https://qiita-image-store.s3.ap-northeast-1.a

元記事を表示

Pythonで知ってるとドヤ顔ができるかもしれない文法をいくつか紹介します

新しめの機能を中心に知っているとドヤ顔できるかもしれないpythonの文法を紹介します。

## 1. 代入式
python3.8より追加された新しい構文です。新しいものを知っているって良いですよね。
代入式は `:=`という構文で書き、条件式と代入文を同時に使用可能です。

例えば以下のような良くある条件式は

“`py
text = ‘Hello New Expression!!’
text_length = len(text)
if text_length > 10:
print(f”String is too long!!({text_length} length, expected <= 10)") ``` `:=`を使用して以下のよう短縮して書くことが可能です。 `if (text_length := len(text)) > 10:`の部分で代入と条件式の両方の役割を果たしていることが分かります。

“`py
text = ‘Hello New Expression!!’
if (text_length := len(text)) > 10:
pr

元記事を表示

SBI証券の株の取引履歴csvデータをまとめてくれるプログラム

SBI証券の取引履歴のCSVデータを見ると、
株の買、売りが個別に並んでいて、損益がちょっと分かりにくいです。

そこでセットにしてほしいと思って、コードを書きました。

CSVデータは以下のようになっていて、
![コメント 2020-04-22 023550.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/341163/acd1a79e-4a91-7509-8444-09abe77fbe85.png)
株ごとに個別に損益が見たいときに不便です。

プログラムを動かすと、

![コメント 2020-04-22 023356.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/341163/e9dbb467-345b-df2e-dbfc-c9159e46bf91.png)

こんな感じになってくれます。

ディレクトリはこんな風にして、

![コメント 2020-04-22 023216.png](https://qiita-im

元記事を表示

pipでCould not fetch URL 443が出た時の対処法

# venvでpipを使ってパッケージをインストールしようとするとエラーが出た!

Could not fetch URL https://pypi.org/simple/certifi/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host=’pypi.org’, port=443): Max retries exceeded with url: /simple/certifi/ (Caused by SSLError(“Can’t connect to HTTPS URL because the SSL module is not available.”,)) – skipping

どうやらSSLErrorが原因の様子。

ググってみた結果以下の二つが出てきました。

[pip install でSSL関連のエラーが出たらこれを読め!!!](https://qiita.com/kj455/items/9c50b5457631850b3bc)
[pipが動作しないエラーの解決]

元記事を表示

ValueError: The field admin.LogEntry.user was declared with a lazy reference to ‘accounts.user’, but app ‘accounts’ isn’t installed.

#makemigarionsしようとしたらなんかエラー出た

ValueError: The field admin.LogEntry.user was declared with a lazy reference to ‘accounts.user’, but app ‘accounts’ isn’t installed.

なんじゃこれ?
そもそもaccountsというアプリは作っていないし、AUTH_USER_MODELにもそんな表記はしていない。
`settings.py`を見てうんうん悩みましたが、結果分からなかったのでググりました。

# ググった結果

まずヒットしたのはStackOverFlow。

[ValueError: The field admin.LogEntry.user was declared with a lazy reference](https://stackoverflow.com/questions/50324561/valueerror-the-field-admin-logentry-user-was-declared-with-a-la

元記事を表示

flask-loginでWebアプリの認証を実装できた

# 概要
flaskを使用したWebアプリを作成しています。
以下の参考にさせて頂いたサイトのREADMEコピペほぼで実装できました。
本記事のコードはpassword照合のロジックを書く必要があります。

## 参考にさせて頂いたサイト
https://github.com/maxcountryman/flask-login

flask-loginの公式ドキュメント
https://flask-login.readthedocs.io/en/latest/
##

## flask-loginの説明
>Flask-Loginは、Flaskのユーザーセッション管理を提供します。ログイン、ログアウト、長期間のユーザーセッションの記憶といった一般的なタスクを処理します。

## 実装

“`bash
$ pip install flask flask-login
“`

“`python
import flask
import flask_login

login_manager = flask_login.LoginManager()
login_manager.init_a

元記事を表示

JSONをCSVに簡単に変換する方法

# JSONをCSVにpythonで変換する

## JSONファイル

キーの中に、jsonの配列がある形にします(jsonlではない)。
以下ではdataというキーの値にjsonの配列が入る形としている。
配列になってない場合は、配列になるように修正する。あとで加工しやすくするため。

“`:target.json
{“data”:[{“code”:”001″,”address”:{“Pref”:”TOKYO”,”postalCode”:”1230021″}},
{“code”:”002″,”address”:{“Pref”:”FUKUOKA”,”postalCode”:”8140004″}}]}
“`

## スクリプト

“`python:pandas.py
# coding:utf-8

#Pandasをインポート
import pandas as pd
import json
from pandas.io.json import json_normalize

#変換したいJSONファイルを読み込む
df = pd.read_json(‘target.json

元記事を表示

PythonとSymPyで連立常微分方程式を解く。

ここではPythonにsympyをインストールして連立常微分方程式を解いてみたいと思います。

## sympyのサイト
https://docs.sympy.org/latest/index.html

### ウォーミングアップ

まずはsympyを用いた基本的な関数の微分の例を書いておきます。

“`ruby:
import sympy as sym
x = sym.Symbol(‘x’)
h = x**3 + 3*x + 1
h.diff(x,1)
“`

## 連立一次常微分方程式

ではおもむろに連立一次常微分方程式を解いてみましょう。

“`ruby:
x = sym.Symbol(‘x’)
f = sym.Function(‘f’)
g = sym.Function(‘g’)
h = sym.Function(‘h’)
eq1 = sym.Eq(f(x).diff(x,1),g(x)+h(x))
eq2 = sym.Eq(g(x).diff(x,1),h(x)+f(x))
eq3 = sym.Eq(h(x).diff(x,1),f(x)+g(x))
sym.dso

元記事を表示

low-code機械学習ライブラリ「PyCaret」でモデルを可視化してみた

# 概要
* low-codeで、機械学習ができるライブラリのPyCaretがついに、v1.0になりました。
* https://pypi.org/project/pycaret/#history
* 下記の様な記事でも、すでに紹介されています。(概要はこちらを参照下さい。)
* [最速でPyCaretを使ってみた](https://qiita.com/s_fukuzawa/items/5dd40a008dac76595eea)
* [DataRobotの無料版!?機械学習を自動化するライブラリ『PyCaret』入門](https://qiita.com/tani_AI_Academy/items/62151d7e151024733919)
* 私が触ってみた印象だと、機械学習モデルの **可視化** がかなり便利に感じました。
* よって、**モデルの可視化** に着目し、記事にしてみたいと思います。
* なお、[ソース](https://github.com/pycaret/pycaret/blob/master/classification.py#L270

元記事を表示

【Python】Atcoderの過去精鋭問題10問を解く

# 背景
入社試験のプログラミングテスト対策のために、勉強しようと思った。そこで、日本語で多くの解説が載っているサイトとして、AtCoderがあったため勉強する。

# 目的
プログラミングテストの対策のために勉強する

# はじめに
プログラミングテストを受ける上で、多くの解説があるサイトが、自分の勉強につながると思った。
そのため、日本語のコミュニティで、プログラミングテストを多く実施している所を探していたところ、AtCoderがあったため、勉強している。

## 要件定義
1. AtCoder Beginners Selectionをとく
1. 関連問題をとく
1. LeetCode60問をとく

# 環境
– Windows10Pro
– Python3.7
– Anaconda

# やった結果
## 第1問: [ABC 086 A – Product](https://atcoder.jp/contests/abc086/tasks/abc086_a)
“`Python
a,b=map(int,input().split())
if a*b%2==0:
print

元記事を表示

茨城県の新型コロナウイルス感染症患者の発生状況の表を作成 (その2)

次のページのデータソースを変更しました。
[茨城県の新型コロナウイルス感染症患者の発生状況の表を作成](https://qiita.com/ekzemplaro/items/43f54264acaf33efb284)

データソース
>[新型コロナウイルス感染症
対策サイト(非公式) ](https://ibaraki.stopcovid19.jp/)

JSON の取得

“`bash
wget https://raw.githubusercontent.com/a01sa01to/covid19-ibaraki/development/data/data.json
“`

データの変換

“`bash
jq .patients data.json > patients.json
./ibaraki_convert.py patients.json data_ibaraki.json
“`

“`py:ibaraki_convert.py
#! /usr/bin/python
# -*- coding: utf-8 -*-
#
# ibaraki_convert.py
#

元記事を表示

欅坂46のメンバーのブログの画像をスクレイピング

用意したディレクトリ

“`
bs4
– data(ファイル)
– keyaki_scraping.py
“`

“`python:keyaki_scraping.py
import requests, urllib.request, os
from bs4 import BeautifulSoup
def keyaki_scraping(a,b):
for i in range(a,b):
url = ‘https://www.keyakizaka46.com/s/k46o/diary/member/list?ima=0000&ct=’+str(i)
if not os.path.isdir(“*/bs4/data/” +str(i)):# ”member_name”のフォルダがない場合
print(“フォルダ作成”)
os.mkdir(“*/bs4/data/” +str(i))
cnt = 0

# BeautifulSoupオブジェクト生成

元記事を表示

【Python】初中級者が解くべき過去問精選 100 問を解いてみた【Part2/22】

**目指せ水色コーダー!!!!!!**

ということで、
[レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編:目指せ水色コーダー!】](
https://qiita.com/e869120/items/eb50fdaece12be418faa#2-3-%E5%88%86%E9%87%8E%E5%88%A5%E5%88%9D%E4%B8%AD%E7%B4%9A%E8%80%85%E3%81%8C%E8%A7%A3%E3%81%8F%E3%81%B9%E3%81%8D%E9%81%8E%E5%8E%BB%E5%95%8F%E7%B2%BE%E9%81%B8-100-%E5%95%8F)(@e869120さん)
>
AtCoder で水色コーダー、つまりレーティング 1200 を少ない問題数で達成するために、茶色コーダー・緑コーダーにとって適切な教育的良問を 100 問集めました。

こちらの記事の`初中級者が解くべき過去問精選 100 問`
を**Python**で解いていきます!
@e869120さんに感謝!!!!!!

#「Part2」〜工夫する全列挙編〜

元記事を表示

PythonとGraphvizで二分探索木を描画する

こんにちは!Nagacyです。

今回はGraphvizを使って、要素に重複のある二分探索木の描画をしてみました。

# 二分探索木とは?
↓ の画像のように、親ノードより小さいものは親ノードの左下に、大きいものは右下に配置していった二分木のこと。

親ノードと同じ値のものはどちらでもいいですが、どちら側に配置するかは統一しないといけません。
![binTreemin.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/618093/a0c7831c-a1b9-f65e-f697-8e609f010093.png)

※画像はWikipediaの二分探索木の項目より

# Graphvizとは?
グラフを描画してくれるツールパッケージです。本来はDOTという言語を用いて記述するのですが、

Python上でも書けるようにしたgraphvizというライブラリがあるので今回はそれを利用しました。

# コード

Graphvizでは同じ値のノードは勝手に一つにまとめられてしまいます。
今回はそれを避けるた

元記事を表示

djoserを使ったDjango REST Frameworkでのカスタムユーザーモデル認証機能の実装

# djoserとは

[djoser](https://djoser.readthedocs.io/en/latest/index.html)とはDjango REST Framework上での基本的なユーザー認証や登録などの認証周りをサポートしてくれるライブラリです。
カスタムモデルに対しても使え、Djangoのコードを再利用するような形をとるのではなく、Single Page Application(以下SPA)によりフィットするようなアーキテクチャを目指して作られています。

今回はdjoserの最もシンプルな認証機能の実装について書きます。
なお、この認証はセキュリティの面などから実際に使用するべきではなく、以下のJWT認証のようなより強固なセキュリティの設定があります。
あくまでお手軽な認証として紹介します。

ソースコードは[こちら](https://github.com/Kuehar/djoser_customuser)

なお、以下の全てが導入後にエンドポイントとして使えます。

>/users/
/users/me/
/users/confirm/
/users/

元記事を表示

非再帰 Euler Tour を Python でやる

## 非再帰 Euler Tour を書く

Euler Tour に限らなくてもいいんですが、 DFS を非再帰で書くと若干大変ですよね。それの私なりの書き方です。先に方針を書くとこんな感じです。

– Python で非再帰 DFS で Euler Tour を書く
– DFS はスタックで管理する
– 追加するときは、行きがけ用と帰りがけ用の2つずつ追加する

ABC 163-F についても少しだけ書きます。

### 入力部分

$N$ 頂点の木が辺で与えられるとします。 1-indexed の場合は途中で $1$ 引いてください。

“`test.py

N = int(input())
X = [[] for i in range(N)]
for i in range(N-1):
x, y = map(int, input().split())
# x, y = x-1, y-1
X[x].append(y)
X[y].append(x)

“`

### 再帰

まずは再帰で書いてみます。 ET は Euler Tour の頭文字です。

元記事を表示

【エラー対策】django-herokuのインストールのエラー対応

# 1. 背景
https://qiita.com/norifumi92/items/a4b3dc4b3a1d474317c8
を基に、CSVファイルのアップロード、ダウンロード機能を実装しようとしたところ、
django-herokuのinstallでつまづいたので、備忘のために本ページを作成した。

# 2. 実行環境
環境
“`
mac OS Catalina 10.15.4
“`

# 3. エラーメッセージ

“`
(open3d) csv_uploader $ pip install django-heroku
Collecting django-heroku
Using cached django_heroku-0.3.1-py2.py3-none-any.whl (6.2 kB)
Requirement already satisfied: dj-database-url>=0.5.0 in /Users/[User]/anaconda3/envs/open3d/lib/python3.7/site-packages (from django-heroku)

元記事を表示

Amazon EC2にuwsgiをインストールする

Pythonでサービスを作ろうとしたんですが、
uwsgiをインストールできなかったんで、困った。
色々しらべて、以下を入れれば大丈夫だとわかったのでメモ。

sudo yum install python3-pip python3-devel
sudo yum groupinstall “Development Tools”

sudo pip3 install –upgrade pip

pip install wheel
pip install uwsgi

`Development Tools`を入れないとコンパイルできないみたいです。
おそらくC言語で書かれたものとかをコンパイルするために必要なものだと思います。
この問題は最小構成のCentOS系サーバだとありそうですね。

wheelもPythonのモジュールのコンパイル?で必要なのかな。
いらないかもしれません。

無事インストールできました。

元記事を表示

PCRより感度が高い?深層学習を用いて胸部レントゲン画像からCOVID-19を検出する

# 目的

初投稿のためキャッチーなタイトルをつけたが、本記事の目的は、書籍[「作りながら学ぶ Pytorchによる発展ディープラーニング」](https://book.mynavi.jp/ec/products/detail/id=104855)を元にVGG19を用いたFine tuningを学ぶ過程を記録することである。

使用するデータセットは、[COVID-19 Radiography Database](https://www.kaggle.com/tawsifurrahman/covid19-radiography-database)で公開されている胸部レントゲン写真を用いる。

## 0. 背景
VGG19は、「ImageNet」と呼ばれる大規模画像データセットで学習された畳み込みニューラルネットワークモデルVGG-16の拡張版である。畳み込み層、プーリング層、全結合層からなる非常にシンプルなモデルであり、初学者でもいじれる事が期待される。

転移学習とは、ある領域で学習したこと(学習済みモデル)を別の領域に利用する手法である。狭義には、最終の出力層のみを目的のデータセ

元記事を表示

【Python】scarapyを使ってJリーグの選手情報をクローリングして表にしてみた!

#はじめに
##今回やりたいこと
[前回の記事](https://qiita.com/yokubarisanyuyu/items/156be4e6ac0ebadc7fac)の続きとして、scrapyというクローラーフレームワークを使って、Jリーグのデータサイトの選手情報をクローリングして取得したいと思います。
##結果
こんな感じで一覧表になりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/432257/f8dbf970-9fee-0654-93fd-a7d827ddd9f4.png)
※Jupyter-notebookでCSVファイルを読み込んで、DataFrameで表示しています。
#コードと解説
##前提
– 開発環境
– Anaconda
– Python3

##流れ
1.Jリーグのデータサイトのをチェック
2.scrapyのプロジェクト作成
3.settingとItemを修正
4.複数サイトをクローリング設定
5.Jリーグのサイトを見ながら選手情報をスクレイピング

元記事を表示

OTHERカテゴリの最新記事