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

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

【Python】JOI 2007 本選 3 – 最古の遺跡(①高校数学ベクトル、②「in リスト」は激遅)【AtCoder】

[レッドコーダーが教える、競プロ・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さん)

こちらの7問目!
難しい!!!
頑張って理解できたので解説〜

#[JOI 2007 本選 3 – 最古の遺跡](https://atcoder.jp/contests/joi2007ho/tasks/joi2007ho_c)
先にACコードから↓

“`python:test.py
def I(): return int(input())
def TI(): return tuple(map(int,input

元記事を表示

【PyTorch】チュートリアル(日本語版 )④ 〜TRAINING A CLASSIFIER(画像分類)〜

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587891/9a7b365d-b844-9f98-664a-e698778d4746.png)
# 目的
PyTorchのチュートリアル[「What is PyTorch?」](https://pytorch.org/tutorials/beginner/blitz/tensor_tutorial.html#sphx-glr-beginner-blitz-tensor-tutorial-py)を参考にPyTorchで画像分類について学ぶ。

具体的には、

– ニューラルネットワークの構築
– lossの計算
– ネットワークの重みの更新
について学習する。

詳しい解説とコードは[【PyTorch】チュートリアル(日本語版 )④ 〜TRAINING A CLASSIFIER(画像分類)〜](https://www.aiprogrammers.net/entry/2020/04/18/152115)をご覧ください。

元記事を表示

【PyTorch】チュートリアル(日本語版 )③ 〜NEURAL NETWORKS(ニューラルネットワーク)〜

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587891/b7b6b786-359a-0427-e572-a3a95df8e77b.png)
# 目的
PyTorchのチュートリアル[「What is PyTorch?」](https://pytorch.org/tutorials/beginner/blitz/tensor_tutorial.html#sphx-glr-beginner-blitz-tensor-tutorial-py)を参考にPyTorchでニューラルネットワークの構築と学習について学ぶ。

詳しい解説とコードは[【PyTorch】チュートリアル(日本語版 )③ 〜NEURAL NETWORKS(ニューラルネットワーク)〜](https://www.aiprogrammers.net/entry/2020/04/18/035524)をご覧ください。

元記事を表示

【PyTorch】チュートリアル(日本語版 )② 〜AUTOGRAD〜

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587891/1fe538f0-5de4-3fff-18ed-418a164d178b.png)
# 目的
PyTorchのチュートリアル[「What is PyTorch?」](https://pytorch.org/tutorials/beginner/blitz/tensor_tutorial.html#sphx-glr-beginner-blitz-tensor-tutorial-py)を参考にPyTorchでAUTOGRADの扱いになれること。

詳しい解説とコードは[【PyTorch】チュートリアル(日本語版 )② 〜AUTOGRAD〜](https://www.aiprogrammers.net/entry/2020/04/13/232357)をご覧ください。

元記事を表示

【PyTorch】チュートリアル(日本語版 )① 〜テンソル〜

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587891/07c31cbf-40ba-d7cd-03da-483afa4bcf87.png)
# 目的
PyTorchのチュートリアル[「What is PyTorch?」](https://pytorch.org/tutorials/beginner/blitz/tensor_tutorial.html#sphx-glr-beginner-blitz-tensor-tutorial-py)を参考にPyTorchで特有のテンソルの扱いになれること。

詳しい解説とコードは[【PyTorch】チュートリアル(日本語版 )① 〜テンソル〜](https://www.aiprogrammers.net/entry/2020/04/13/014852)をご覧ください。

元記事を表示

【PyTorch】インストール方法

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587891/0313f6ca-8f42-a050-d56b-a99d52d6ee6b.png)
# 目的
PyTorchをインストールする。

詳しい解説とコードは[【PyTorch】インストール方法](https://www.aiprogrammers.net/entry/2020/04/11/024856)をご覧ください。

元記事を表示

Flaskで作ったWebアプリをHerokuへデプロイする方法

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587891/214d22e8-9e7c-f621-9663-7154abf4a95a.png)

# 目的
Flaskで作ったWebアプリをHerokuへデプロイする

詳しい解説とコードは[Flaskで作ったWebアプリをHerokuへデプロイする方法](https://www.aiprogrammers.net/entry/2020/04/08/202916)をご覧ください。

元記事を表示

はじめてのPython 1日目

## Pythonを初めて使ってみる
[このサイト](https://python.ms/class/)を参考に文法などについて学んだ.
猫を例に書かれていてプログラミング苦手な私にもわかりやすい◎.
これからもちょくちょく見直したい.

## メモ①
[ここ](https://python.ms/class/#%E8%A3%9C%E8%B6%B3)まで読んで特に覚えておいた方が良さそうなポイント.

“`python:Cat.py
class Cat:
type = ‘猫科’ # クラス変数

def __init__(self, name, gender, age):
self.name = name
self.gender = gender
self.age = age

def say(self):
print(‘にゃー’)

def grawl(self):
print(‘ウー’)

tame = Cat(‘たま’, ‘メス’, 3)
tora = Cat(‘と

元記事を表示

【Python】フォルダのみの一覧リストを取得

### 目的
ファイルやフォルダが混在しているときに、フォルダだけの一覧をリストにする。

詳しい解説とコードは[【Python】フォルダのみの一覧リストを取得](https://www.aiprogrammers.net/entry/2020/04/06/162145)をご覧ください。

元記事を表示

はじめてのPython 0日目

## はじめに
おうち時間,ついにすることがなくなったので(しないといけないことはあるけど)Pythonの勉強をします.
プログラミングはあまり得意ではないのと,しっかり理解しないとすぐわからなくなって諦めてしまうので,少し時間はかかると思うけど丁寧に勉強していこうと思います.

とりあえず,1週間後までにファイルの入出力とデータの抽出をしなければならないので短い目標はそれ.
Javaならさすがの私でもできるので,Pythonでもそんなに時間をかけずにできるはず…?:thinking:

その次の目標はなんだろう,考えていきたいです.
今のところ1番得意な言語は(強いていうなら)Java,好きな言語はSwiftですが,これを更新できるように頑張ります.

勉強をする中で重要そうだなと思ったポイントを今後メモとして投稿していきます.

## 開発環境
Pythonを勉強するにあたっての開発環境の準備(この日本語合ってるのかな笑).
ちな,Mac.
いろいろ見てたら,PyCharmがおすすめとのことだったので[ここ](https://www.jetbrains.com/ja-jp/pych

元記事を表示

python multiprocessing の使い方(続2) apply_async とcallback

### 目的

その後を調査を続けています。おじさんが欲しい使い方は、ぽちぽちと時々やってくるパケットに対して処理をマルチプロセスで動かす、ということを使いたいでした。お客様パケットを待たせたくないのでマルチプロセスにしたいのです。

本日のこれまでの軌跡:
– [python multiprocessing の使い方](https://qiita.com/xtkd/items/d83f3ea025780dfd5035)
– [python multiprocessing の使い方(続) Pool編](https://qiita.com/xtkd/items/61f124cdc7979f4d63b2)

### apply_async を使おうと思った理由

先のPool.map だど、終了するまでblock されるようなので、どうも新しいのがきたときどうしたものかというのが気がかりです。あと、ずっとお客さんがくるかとうかListenもしていたいです。

ブロックせずにPool で動かすのにapply_async があるようなので動かしてみました。

– “`multiproces

元記事を表示

Pythonによる移動平均フィルタ

#はじめに
Pythonで移動平均フィルタを使うためのプログラム

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

#CSVを読み込む
data = pd.read_csv(“hoge.csv”)

data_col = data.columns
plt.figure(figsize=(5, 5))

#移動平均
n = 500 #移動平均の点数
ave = np.convolve(data[data_col[1]], np.ones(n)/float(n), ‘same’)

#グラフの作成
plt.figure(1)
plt.plot(ave * 1e3,data[data_col[3]] * 1e3)

#グラフ保存
plt.savefig(‘hoge.png’)
plt.show()
“`
#実行結果
![hoge.png](https://qiita-image-store.s3.ap-northeast-1.amazona

元記事を表示

【Python】行列の90度右回転、90度左回転、180度回転【AtCoder】

行列の回転のやりかたで、**感動**したことがあったので記事にしてみる。
この知識を、今後応用できるかは謎w

#[行列の90度右回転!! ABC036B]( https://atcoder.jp/contests/abc036/tasks/abc036_b)

いろんな解き方があると思うけど、俺がはじめにACをゲットした時のコードがこちら。
ノートと紙で一生懸命、インデックスをどうすればうまくいくかなぁ・・・
と考えながらやった。

“`python:test.py
def I(): return int(input())
def S(): return input()
N = I()
S = [S() for _ in range(N)]
ans =[[”]*N for _ in range(N)]
for i in range(N):
for j in range(N):
ans[j][N-1-i] = S[i][j]
for x in ans:
print(*x,sep=”)
“`

つよい人のコードをみて、**びっくり!感動!**
**

元記事を表示

【プログラマー新米の”言語処理100本ノック 2020″】第1章を解く

#はじめに
 ネットをさまよっている時にふと、”[言語処理100本ノック 2020](https://nlp100.github.io/ja/)”というサイトに出会いました。自然言語処理を触ってみたいなと思っていた反面、プログラミングは競プロを少しやったプログラマー新米。ちょっと興味もあるのでせっかくなので挑戦してみようと思います。
 この記事を書いている時点では全体の半分しか終わっていませんが、備忘録的な意味で書いて行こうと思います。心が折れたらやめます。先の記事がなかったら察してください。

#環境とスタンス
###環境
+ OS : macOS Catalina 10.15.3
+ Python : 3.7.6

###スタンス
+ 実装はあんまり頑張らない
+ 慣習とか知らない。
+ 安全性もそこまで考えない。
+ 他人が読めるように頑張る。
+ Python初心者にできるだけ優しくかきたい(願望)。

極力解説を書こうと思いますが、気になった方は調べることをお勧めします。

#”第1章: 準備運動”を解く
###00. 文字列の逆順
>文字列”stressed”の文字を逆に(

元記事を表示

カスタムユーザーでdjango-rest_framework_simple-jwtを使用してユーザー認証しようとした時にハマった話

#エラーが出た!!

DjangoREST Frameworkのプロジェクトにdjoserを導入し、api/auth/jwt/createに対してPOSTしてもトークンが発行されず、何事かと思いひとまずコンソールにアクセスしてアクティブなユーザーでPOSTしたところ、以下のようなエラーが出ました。

“`
“detail”: “No active account found with the given credentials”
“`

与えられた情報ではアクティブユーザー見つけられません!ってことなので早速エラー文でググってみると以下の記事が

[Django drf simple-jwt authentication“detail”: “No active account found with the given credentials”](https://stackoverflow.com/questions/55906891/django-drf-simple-jwt-authenticationdetail-no-active-account-found-with-t

元記事を表示

Djangoにおけるモデル

# はじめに

ここでは、Djangoのモデルの基本について解説します。

# models.pyの設定

“`python:models.py
from django.db import models

class SampleModel(models.Model):
# id = models.AutoField()
char_sample = models.CharField(max_length=200)
char_with_null = models.CharField(max_length=10, blank=True, null=True)
char_options = models.CharField(choices=((‘one’, 1), (‘two’, 2)))
text_sample = models.TextField()
bool_sample = models.BooleanField(default=False)
datetime_created = models.DateTimeField(

元記事を表示

【第4回】pythonで某Authenticator的なツールを作ってみた

# 今回は、DBを片付けてみた。
– 各DBの動作をdefで書き出した。
– root = tk.Tk()以下のあたりから表示系
– うまい具合にまとめられた感じがする。

“`python
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tkinter as tk
import pyotp
import sqlite3
import os

def create_table():
# データベースに接続する
conn = sqlite3.connect(‘gauth.db’)
c = conn.cursor()
# テーブルの作成
sql=”’CREATE TABLE gauth
(id integer primary key AUTOINCREMENT,
name text,
private_key text)”’

c.execute(sql)
# 挿入した結果を保存(コミット)する
conn.commit()
#

元記事を表示

icrawlerでgoogleから画像をダウンロードする方法(2020.3月以降)

初めまして。
ペーペーの文系大学生です。
趣味程度でディープラーニングをかじっております。

好きなアイドルやキャラクターの写真を画像認識させたい時にいつもicrawlerを使っていました。
ですが、今までのやり方だと急に出来まくなってて、、、
(2020.03から仕様変更があったそうです。)
今まで使えていたコードが下のです。(これではエラーが出ます。)

“`python:get_image.py
from icrawler.builtin import GoogleImageCrawler
import sys
import os

argv = sys.argv

if not os.path.isdir(argv[1]):
os.makedirs(argv[1])

crawler = GoogleImageCrawler(storage = {“root_dir” : argv[1]})
crawler.crawl(keyword = argv[2], max_num = 1000)
“`

変更後に使えるコードは

“`python:get_image.p

元記事を表示

Linux初心者がDocker上にUbuntu16.04環境を作る(for Mac)-前半-

#概要
MacでDockerを用いたUbuntu環境の作成をしてみました。

記事作成のモチベーションは、

1. 初心者向けにLinux概要をまとめる
1. Ubuntuに初めて触ったので、躓きポイントの備忘録
1. 去年、WindowsHomeにDockerを入れようとしたときにそこそこ時間を費やした(結局入れることができなかったが)ので、何かしらの形でアウトプットしたかった

の3点になります。

注意事項として、今回はSelenium+PhantomJSを使用してスクレイピングをやるためにこのような環境を作ったのですが、参考文献が古いため、Ubuntuのバージョンが古いです。

前半・後半に分けています。
前半ではDockerのインストールとDocker上にUbuntuのイメージを導入します(すぐ終わります)。その後、Ubuntuの概要について説明していきます。
後半では、Ubuntuの環境等の整備をしていきます。
Linux,Ubuntuの概要に興味がない人は、読み飛ばしてください。

前回WindowsにDockerをインストールしようとしたときは、そもそも所持しているWi

元記事を表示

python multiprocessing の使い方(続) Pool編

pythonでmultiprocessingの使い方を調査しています。
先ほど投稿した記事の調査の続き。別プロセスで動かしたい関数をProcess で一つ一つ起動するのでなく、まとめて実行してくれる関数Pool を利用します。

– 並列処理で使用するコアの数(上限数)を指定できる。
– 指定した処理を別コアで動かしてくれる。感じ。
– 並列処理をしたい関数が同じで引数が違うだけの時、Pool を使って簡単に書ける。

を確認しました。

### テストコード

– CPUの数は “`cpu_count()“` で取得できる
– “`Pool(num_cpu) “` で Pool のインスタンスを作り、“`map(method, iterable_arg)“

“`python

from multiprocessing import Pool, cpu_count
from time import sleep
from os import getpid, getppid
from numpy import exp, log

def f(args):
print

元記事を表示

OTHERカテゴリの最新記事