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

Python関連のことを調べてみた2022年09月14日
目次

Docker学習、私はこう取り組んだ

# はじめに

[『個人開発2年間の軌跡』終盤のDocker学習](https://qiita.com/gmasa/items/fb9a0487bb0a12b91219#web%E3%82%B5%E3%82%A4%E3%83%88dockerizing-django-with-postgres-gunicorn-and-nginx-%E3%81%A7%E5%AD%A6%E7%BF%92)において、お手本サイト[『Dockerizing Django with Postgres, Gunicorn, and Nginx』](https://testdriven.io/blog/dockerizing-django-with-postgres-gunicorn-and-nginx/)に取り組んだ時の記録です。強強ではない人間がこのサイトを読んでどこに引っかかったのか、参考にしてもらえればと思います。

**校正不足ですが一旦リリースして、後から修正することにしました。**
納得いくまで見直したいですが、いつまで経っても投稿できそうにないので、エイヤッで投稿ボタンを押しました。

# 対象

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlのデバッガ(デバッグ)の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlのデバッガ(デバッグ)の比較

# Python

https://qiita.com/kaitolucifer/items/dc58efebd72d72a8feb2

# Ruby

https://qiita.com/port-development/items/5ea6448eb2b45c70ef65

https://qiita.com/suketa/items/52c60d79332c9a24f973

# PHP

https://qiita.com/ryouya3948/items/0055c1935b7bd62ba3b9

# Java

https://qiita.com/gatchan03/items/3c43b674e2b7c4b5c5cb

# JavaScript

https://qiita.com/a_

元記事を表示

唐揚げとプードルを絶対に見分けたい!畳み込みニューラルネットワークで画像分類

## はじめに
https://qiita.com/katsujitakeda/items/f1842f5e831bb6475ba8

この記事は前回の記事,[唐揚げ?orトイプードル?機械学習で判別してみた](https://qiita.com/katsujitakeda/items/f1842f5e831bb6475ba8)のリベンジ記事です!

前回初投稿でお試しで書いたものが多くの方に見ていただけて嬉しい反面、雑な部分も多くあるので恥ずかしくなっているところです。(とは言え、1万viewもありがとうございます!!)

今回は畳み込みニューラルネットワーク(以下CNN)を用いて唐揚げとプードルの分類器を作成しました。
その後にGradCAMを用いてニューラルネットワークが何をみて判断しているのか可視化したので見ていただけたら嬉しいです。

目標は **この画像を正しくプードルと認識できるような分類器を機械学習で作ること!!**

![image.png](https://qiita-image-sto

元記事を表示

Python 仮想環境作成方法 (venv, pyenv)

pyenvとvenvを用いて新たにPythonの仮想環境を作成する際の手順をまとめました。
なお、環境構築については、以下を参考にしてください。

– Windows (WSL)
– [pyenv, venv](https://qiita.com/mukusuke421/items/51e1684614cab0cb78c3)
– Mac
– [pyenv](https://zenn.dev/unsoluble_sugar/articles/283ebf698c307c)
– [venv](https://hitori-sekai.com/python/venv/)

## 仮想環境作成方法

### pythonバージョンの指定

“`
pyenv global <バージョン>
“`

### 仮想環境を作成
作成するディレクトリで以下を実行。
“`
python -m venv .venv
“`
`.venv` というディレクトリが作成される。
このフォルダに仮想環境のライブラリ等の情報が保存される。

### 仮想環境を起動
“`
source

元記事を表示

データサイエンスでDota2強くなるかも説(5)~ハード試合データを解析してみたら驚愕の事実が~

# はじめに

最近,Dota2を始めましたが全く勝てません
ハードボットにボコボコにされます.

色々と調べても「死ぬな」くらいのことしか分らず苦戦しています.

### データサイエンスでDota2強くなるかも説

そこで,データサイエンスの力を借りて,どのような状況なら勝っているか?や前回に比べてどのように振舞ったから勝てたのか?ということを数値化して分析していけば強くなるのでは!と考えました.本企画はその仮説を検証していく企画です.

![file](https://hamaruki.com/wp-content/uploads/2022/09/image-1662048158424.png)

### 前回までのあらすじ

#### 環境構築編
Dota2の情報をPythonで取得できるような環境を作成し[*1]( https://hamaruki.com/2022/09/06/data-science_with_dota2_05/#参考サイト),データを取得+定期的に保存する機構を作りました[*2]( https://hamar

元記事を表示

データサイエンスでDota2強くなるかも説(4)~ミディアムとハード試合データをプロットしてみたら驚愕の事実が~

## はじめに

最近,Dota2を始めましたが全く勝てません
ハードボットにボコボコにされます.

色々と調べても「死ぬな」くらいのことしか分らず苦戦しています.

### データサイエンスでDota2強くなるかも説

そこで,データサイエンスの力を借りて,どのような状況なら勝っているか?や前回に比べてどのように振舞ったから勝てたのか?ということを数値化して分析していけば強くなるのでは!と考えました.本企画はその仮説を検証していく企画です.

![file](https://hamaruki.com/wp-content/uploads/2022/09/image-1662048158424.png)

### 前回までのあらすじ

#### 環境構築編
Dota2の情報をPythonで取得できるような環境を作成し[*1](https://hamaruki.com/2022/09/04/data-science_with_dota2_04/#参考サイト),データを取得+定期的に保存する機構を作りました[*2](https://hamaru

元記事を表示

データサイエンスでDota2強くなるかも説(3)~試合データをプロットしてみた~

## はじめに

最近,Dota2を始めましたが全く勝てません
ハードボットにボコボコにされます.

色々と調べても「死ぬな」くらいのことしか分らず苦戦しています.

### データサイエンスでDota2強くなるかも説

そこで,データサイエンスの力を借りて,どのような状況なら勝っているか?や前回に比べてどのように振舞ったから勝てたのか?ということを数値化して分析していけば強くなるのでは!と考えました.本企画はその仮説を検証していく企画です.

![file](https://hamaruki.com/wp-content/uploads/2022/09/image-1662048158424.png)

### 前回までのあらすじ

Dota2の情報をPythonで取得できるような環境を作成し[*1](https://hamaruki.com/2022/09/02/data-science_with_dota2_03//#参考サイト),データを取得+定期的に保存する機構を作りました[*2](https://hamaruki.com/202

元記事を表示

【Python】文字列のリストから別のリストの要素を含む文字列を抽出する方法

## 環境
+ conda 4.12.0
+ Python 3.8.12.final.0

## コード
例)リスト `fruits` からリスト `filter` の要素(=ア, イ, ウ, エ, オ)を含む文字列を抽出する。抽出後のリストを `fruits_filtered` とする。

“`py:py
fruits = [“リンゴ”, “イチゴ”, “バナナ”, “ブドウ”, “ミカン”, “キウイ”, “アンズ”]
filter = [“ア”, “イ”, “ウ”, “エ”, “オ”]
fruits_filtered = [f for f in fruits if any((str in f) for str in filter)]
print(*fruits_filtered) # イチゴ ブドウ キウイ アンズ
“`

## コードの解説
### 内包表記
“`py:内包表記の例
# 内包表記
odds = [i for i in range(10) if i % 2 == 1]

# 等価なコード
odds = []
for i in range(10):

元記事を表示

neovimのLSPによるpythonの補完で、opencvが正常に補完が効かない

半年くらい前にvscodeからneovimに乗り換えたのですが、opencvの補完だけが正常に動いてくれないということがあって悩んでいました。numpyとかは普通に補完が効くのですが、例えば以下のようなコードを書いてみると、

“`
import cv2

img = cv2.imread(‘sample.png’)
cv2.imshow(‘img’, img)
cv2.waitKey(0)
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2733597/4ef4c147-2a01-f652-ba9c-771ecbffe8a9.png)

こんな風にneovim上で怒られてしまいます。ただし、ターミナル上では問題なくこのコードは動きます。

## 解決策
https://github.com/emacs-lsp/lsp-pyright/issues/41

このissueを参考にしました。
以下のようにターミナル上でコマンドを打つと解決します。

“`
$ python3 -c

元記事を表示

コピペでスクレイピング② クラウドワークスの新着情報を収集

# はじめに
前回の記事を踏まえてクラウドワークスの新着情報を収集するアプリを作ってみる
クラウドワークスのサーバーの負担にならないように、3分間隔くらいでスクレイピングします。

前回はページソースを取得するコードを書きました。
[コピペでスクレイピング① selenium でページソースを取得](https://qiita.com/Gen2423/items/cb46c712d0890cef1c98)

# スクレイピングツールの機能
どうせ作るならなにか実益のあるツールを作ってしまおうということで、
クラウドソーシャルサイトの「クラウドワークス」のサイトの新着情報を収集するツールを
作ってみます。

機能は以下の通り

・指定されたキーワード、今回は「スクレイピング」とし、スクレイピングに関係した新着情報がアレば検出する

・新着情報があればGmailで通知する

・実行ファイル(EXEファイル)にしてどのPCでも簡単使いやすくする

上記の仕様で作ってみたいとおもいます。

## 開発環境
Windows11pro
Python3.8

外部ライブラリー
Beautifulso

元記事を表示

データレコードが文字列として1つにまとめられていて、なおかつデータ間の区切りスペース数が行ごとに異なる汚いcsv.ファイルをPythonで直してみた

ある日の悩み・・・

データマインニングの講座を受講していて、csvファイルの扱いが必須なのですが・・・

![terrible csv.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440707/a39cb060-40eb-aa66-7353-3f5717bab851.png)

こんな感じでまあ中身が汚いのです。
データ資料がもともと「.csv.pdf」ファイルで変換する必要があったという点が原因かもしれませんが・・・。
この画像を見てわかるように、
+ データレコードが文字列としてまとめられている(column名も同様)
+ データ間の区切りスペース数が行ごとに異なる
+ ところどころ1列目に該当する数値の左に空白が紛れ込んでいる

といった悲惨なデータ構造になっていることがわかります。
当たり前ですが、こういったcsvファイルをいちいち手直しするわけにもいきません。
そこで、手っ取り早くPythonで自動的に整頓してみることにしました。

CSV整頓プログラム(align

元記事を表示

”ジョジョの奇妙な冒険” 機械学習による画像識別

# はじめに

**概要**
プログラミングスクールAidemyの”データ分析講座”の最終成果物として優れた画像認識アルゴリズムを持つCNN(Conbolutional Neural Network) を使用しジョジョの奇妙な冒険のキャラクターを識別を実施しました。

**私は**
元々ITベンダーの営業で去年からAI/MLプロジェクトを扱うPM兼エンジニアに転職しましたが、お客様の為により良いSolutionを提供する為、また案件を進める為にもより理解を深めたく本コースを受講しました。
畑が全く違うのでコーディングの勉強が苦痛でしかなく最終成果物は好きな物でモチベが上がるものにしようとチューターの方にオススメ頂き大好きな**ジョジョの奇妙な冒険**のキャラクターの識別を機械学習での識別を実施しました。
結果学習過程で一番楽しかったです。目に見える成果がすぐに出ないと頑張れない自分の特性も知れエンジニアには程遠い属性だなとも思いました。
異業種からの挑戦のため、とんでもない並びのコードや手順かもしれませんがご了承ください。
では本題に移ります。

# その前に、、、、**ジョジョの奇妙

元記事を表示

【Flask】ログイン認証の結果でHTML出力を変更

## ログイン認証に成功すると最上部にログインユーザ名とログアウトが表示されるようにする

### 認証画面
![スクリーンショット 2022-09-13 16.29.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699739/9a964b28-1a41-3634-27b5-40c514cda753.png)

### 認証後の画面
![スクリーンショット 2022-09-13 16.17.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699739/8bfef095-5028-a815-78c7-f3f5ef732328.png)

::: note info
+ 認証に成功すると、最上部のブロックの中に”ユーザ名”と”ログアウト”のリンクが表示されるようになる
:::

### 環境
+ __macOSX Montray__
+ __Python 3.10.6__

—–

### ファイル構成

元記事を表示

python3.14がC++より早くなるらしい?

海外サイトを見ていてこんな見出し記事がありました

https://towardsdatascience.com/python-3-14-will-be-faster-than-c-a97edd01d65d

なんとなく紹介

後半に画像があって、どんどん実行速度が速くなる図がある

技術力が全くない40代初心者だからよくわからないけれど、誰か解説記事書いて欲しい

pythonがんばぁりぅれええ

元記事を表示

Stable Diffusionベストプラクティス考察 txt2img編 Part.1

:::note alert
あくまで執筆時点、version1.4 での考察です。
今後大幅な変化があった場合は書き直します。
:::

[1.はじめに](#1-はじめに)
[2.変数の特徴と活用方法](#2-変数の特徴と活用方法)
[3.まとめ](#3-まとめ)
[4.おわりに](#4-おわりに)

# TL;DR
基本的な戦略
1. ランダム×固定seedでの`Prompt engineering`
1. ランダムseedでの`Seed hunting`
1. 固定Seedでの`Prompt engineering`

その際の注意点
– promptの長さは75token以内に
– step数は20程度まで減らして時短
– 最後は100以上で清書
– 大きなサイズでの生成は予期せぬ複製や見切れを生むため注意
– Scaleはデフォルトでよし

# 1. はじめに

この記事は、Stable Diffusionへの理解を深め、より効率的に使いこなすための方法を考察したものです。
なんとなくpromptを試してみる状態から、少しステップアップできる内容になっていると思いま

元記事を表示

オフラインPCにTabpyをインストールしてみた

# 概要
オフライン環境のPCにTabpyをインストールする手順です。
オンライン接続可能なPCで必要なファイルを`pip download`でダウンロードし、インストールしたいPCにそれをコピーしてインストールしました。

:::note info
つまづいたポイントをインフォメーションとして注記しています。
:::

# 環境
インストールするPC
| ソフトウェア | バージョン |
|:-|:-|
|Windows 10 Enterprise|20H2|
|Tableau Desktop|2021.4.9|
|Tableau Prep|2021.4.4|
|anaconda|4.12.0|
|python|3.9.12|

ファイルをダウンロードするPC
| ソフトウェア | バージョン |
|:-|:-|
|Windows 10 Pro|20H2|
|anaconda|4.8.3|
|python|3.8.3|

# 作業内容
– オンライン接続可能なPCで必要なファイルを一括ダウンロード
– ダウンロードしたファイルをtabpyをインストールしたいPCにコピーしてイン

元記事を表示

コピペでスクレイピング① selenium でページソースを取得

# はじめに

WEBサイトをスクレイピングするとき、selenium(Python)でよく使っているもののメモ
動作環境:Windows11 Python3.8
モジュール: selenium, webdriver-manager(ver3.5.4)

# 指定したURLのページソース全体を取得する

“`python
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
# seleniumをヘッドレスで起動、webdriverは自動取得、ブラウザはGoogleChrome
# 引数はURL、返り値はページソース

def source_code_get(url):
# オプション設定
options = webdriver.ChromeOptions()

# ↓ ヘッドレスモードで起動するオプション
options.add_argument(“–headless”)
# webdriverの自動更新

元記事を表示

最後の学生生活、何かに挑戦したかった

現在、筆者は大学院2年生である。

春に就職活動を終え、授業もなく、ダラダラとした生活を送っており、
残りは修士論文のみであるが、学生時代に何か挑戦したいと思い、Qiitaを初めてみた。

今のところの活用法としては、

・TOEICなどの英語の勉強記録
・研究に関わる内容の調査、まとめ(筆者の専攻は情報系)
・ライティングスキル上昇、伝えたいことを言語化する練習

などである。

特に、英語やプログラミングについて学んだことを、アウトプットしていき、
知識を自分のものにしたいと考えている。

~~欲を言えば、Word Pressなどでブログを作成し、収益化を目指したいところではあるが~~
そこまで続けられる自信がないため、趣味程度にのんびりと投稿したいきたい。

元記事を表示

[Daily LeetCode Challenge] 393. UTF-8 Validation

# Description

Note: The input is an array of integers. Only the least significant 8 bits of each integer is used to store the data. This means each integer represents only 1 byte of data.

## Example 1:
~~~
Input: data = [197,130,1]
Output: true
Explanation: data represents the octet sequence: 11000101 10000010 00000001.
It is a valid utf-8 encoding for a 2-bytes character followed by a 1-byte character.
~~~

## Example 2:
~~~
Input: data = [235,140,4]
Output: false
Explanation: data represente

元記事を表示

ユニークビジョンプログラミングコンテスト2022 夏(ABC268) A~C問題 ものすごく丁寧でわかりやすい解説 python 灰色~茶色コーダー向け #AtCoder

ユニークビジョンプログラミングコンテスト2022 夏(AtCoder Beginner Contest 268) A~C問題の解説記事です。
灰色~茶色コーダーの方向けに解説しています。

その他のABC解説、動画などは以下です。

更新時はツイッターにて通知します。

https://qiita.com/sano192/items/54accd04df62242b70f0

# ユニークビジョン様について
本コンテストはユニークビジョン株式会社様が主催されています。

https://www.uniquevision.co.jp/

# A – Five Integers Dif:16

https://atcoder.jp/contests/abc268/tasks/abc268_a

重複のない整数を順に数えていきます。
BとAが違うなら+1
CとA,Bが違うなら+1
DとA,B,Cが違うなら+1
EとA,B,C,Dが違うなら+1

「○○でない」という条件は「!=」で表します。

入力の受け取り、出力がわからない方は以下

元記事を表示

OTHERカテゴリの最新記事