Python関連のことを調べてみた2020年11月24日

Python関連のことを調べてみた2020年11月24日

TextGANでAssertion `srcIndex < srcSelectDimSize` failed.がでた場合

TextGANのgithub
https://github.com/williamSYSU/TextGAN-PyTorch
独自のデータセットに関してSeqGANを適用したら下記のエラー。

“`terminal

Assertion ‘srcIndex < srcSelectDimSize' failed ... ... RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED when calling `cublasCreate(handle)` ``` gpuでの実行をやめてcpuで実行したら以下のエラー。 ```terminal IndexError: index out of range in self ``` <解決方法>
/TextGAN-PyTorch/dataset/
にあるXX_iw.dictとXX_wi.txtを削除。
(XXはデータセットの名前(ex..image_coco.txt->image_coco_wi_dict.txt))

元記事を表示

他の人が作ってくれたCloud9でPythonのバージョンが古い時の対応方法

– 環境 : Cloud9
– 同僚がEC2を利用したCloud9を使っていたので、私も使ってみたくてそのCloud9にアカウントを作ってもらって早速使い始めた。

# 事象 : Pythonのバージョンが古かった
“`bash
# Pythonが3じゃない!
$ python –version
Python 2.7.18
# pipは・・・なぜかPython3.6のもの?
$ pip –version
pip 20.2.4 from /home/ec2-user/.local/lib/python3.6/site-packages/pip (python 3.6)
# Python3はあるようだ・・・
$ python3 –version
Python 3.6.12
“`

Cloud9のPythonを3にすればよいのか?と思ったらもうなっている・・・

– 参考 : [Cloud9のPythonバージョンをPython3に変更【amazon AWS】|dot blog](https://dot-blog.jp/news/cloud9-python-version-

元記事を表示

Unable to import module ‘lambda_function’: No module namedとなった時の対応方法

– 環境
– Cloud9
– 同僚がEC2を利用したCloud9を使っていたので、私も使ってみたくてそのCloud9にアカウントを作ってもらって早速使い始めた。半端ない初心者。
– Python 3.6.12

# 事象 : `import requests`をして実行したらモジュールがなくて怒られた

“`bash
Response
{
“errorType”: “Runtime.ImportModuleError”,
“errorMessage”: “Unable to import module ‘lambda_function’: No module named ‘requests'”
}
“`

がーん!でも`pip list`は`requests`があるとおっしゃっている。

“`bash
ponsuke:~/environment (asynchronous) $ pip list | grep requests
requests 2.24.0
“`

## 原因 : 対象のLambda関数

元記事を表示

決定木(load_iris)

## ■ はじめに
今回は、決定木の実装~プロットをまとめていきます。

【対象とする読者の方】
・決定木における、基礎のコードを学びたい方
・理論は詳しく分からないが、実装を見てイメージをつけたい方 など

##1. モジュールの用意
最初に、必要なモジュールをインポートしておきます。

“`python

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
“`

##2. データの準備
load_iris データセットを使用します。

“`python

iris = load_iris()
X, y = iris.data[:, [0, 2]], iris.target

print(X.s

元記事を表示

pythonで英単語アプリを作成

#仕様
– 入力した単語を翻訳サイトからスクレイピングし、翻訳結果を表示する
– 翻訳と同時にに音声ファイルも出力する
– 音声ファイルを単語名.mp3で保存する

#ライブラリ
使用したライブラリは以下の通りです。

|ライブラリ|用途|
|:—|:—|
|os|フォルダの作成、パスの確認|
|requests|htmlの入手、mp3のダウンロード|
|bs4|htmlの解析|
|tkinter|GUIの作成|
|pygame|mp3の再生|
|numpy|例外処理|

#コード
“`python
import os
import numpy as np
import tkinter
import requests
from bs4 import BeautifulSoup
from pygame import mixer

class Translation:
def __init__(self):
self.root = tkinter.Tk()
self.root.title(‘Translation’)
se

元記事を表示

【個人開発】DjangoRESTFrameworkとVue-CliでSPAでアーティスト向けのアプリを作成した話【DRF+Vue.js】

#はじめに
こんにちは。
2年目ペーペー新人エンジニアです。
今回は、個人開発したアプリをついにリリースしたので、
それを記事にしようとおもいます。

#作成物
アプリ:[https://paintmonitor.com](https://paintmonitor.com)
今回作成したのは、『PaintMonitor』というアプリです。
![top-cap.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/493888/5eaea80a-8f7f-1bd1-84f1-a71c2b4c6ac6.jpeg)

名前も当初かなり迷走して、結局わかりやすく、
Paint(描いて)Monitor(見える化)にしました。
アプリの特徴としては、
描いて(Paint)、解析して(Monitor)、共有する(SNS)。の3点です。

#システム構成
![Drainer.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/493888/2ed9b

元記事を表示

Pythonで医用画像解析1(SimpleITKでMRI画像を読み込む)

#はじめに
DICOMを読み込むライブラリはいくつかありますが,この記事ではSimpleITKを使ってMRIやCTなどの医用画像を読み込む方法を解説します.

#SimpleITKとは
SimpleITKはITKという医用画像解析のための形式をPythonやほかの言語で容易に利用するためのライブラリです.(https://en.wikipedia.org/wiki/SimpleITK)
3D SlicerやImageJ,ITK-Snapなどのソフトウェアでも利用されています.

#医用画像の形式
例えばMRI画像はDICOMデータとして利用することが多く,SimpleITKではDICOMを直接読み込むことができます.また,DICOM画像はしばしばNIFTI(.nii, .nii.gz)やNRRD形式(.nrrd)として保存されることがありますが同様に読み込めます.(https://simpleitk.readthedocs.io/en/master/IO.html)
ただし,出力に関してはDICOM形式では出力できないと思われます.
#目的
SimpleITK形式で読み込まれた画像を用

元記事を表示

macOS に最適化された TensorFlow を Apple M1 チップ 環境で import するまでの Tips

## 概要

– “Mac-optimized TensorFlow and TensorFlow Addons” (https://github.com/apple/tensorflow_macos) を MacBook Air with M1 で動かすための試行錯誤
– Intel アーキテクチャの MacBook Pro (Early 2015) から環境を移行した上で、 ARM ベース アーキテクチャに合わせるための方法の模索
– (Mac-optimized) TensorFlow の実行結果は含まず、ひとまず import するところまで

## 背景

日本時間の 2020/11/11 03:00 から行われた Apple Event で詳細が公開された、Apple の新型チップ「M1」。
発表の中で、具体的なソフトウェアの名称として「TensorFlow」の名前が挙がっていたので気になっていたのですが、その後、Apple の GitHub Organization から “Mac-optimized TensorFlow and TensorFlow Addons” (

元記事を表示

カスタムオブジェクトの JSON エンコード/デコード

# 概要

カスタムクラスのインスタンス (オブジェクト) を含む複雑な構造を JSON エンコード/デコードする例について説明します。

そういう複雑なデータをシリアライズするには `pickle` を使うのが楽で良いのですが、Python 以外で読み書きしたい場合や、シリアライズしてもある程度の可読性がほしい場合は `JSON` を選ぶことが多いです。

ここで説明する方法以外にもやり方はあると思いますが、以下の点において、この方法が気に入っています。

1. Python 標準の [json モジュール](https://docs.python.org/ja/3/library/json.html)を使う。
1. エンコード/デコードのロジックを、クラスごとに分けられる。

# カスタムで複雑なデータの例

説明に使うものなので、そこまで複雑にはしませんが、以下の条件を満たすデータでやってみます。

1. カスタムクラスが複数入っていること。
1. カスタムオブジェクトの属性にもカスタムオブジェクトが入っていること。

“`python
class Person:
de

元記事を表示

[Python] フォームで送信

#[Python]フォームで送信
“`java:






{% csrf_token %}
{{form}}



“`
###action=”{% url ‘index’ %}” method=”post”でデータの送信先を指定している
###{% csrf_token %}でCSRF対策をしている
###{{form}}はフォームの具体的な内容が作成される

元記事を表示

LeetCodeに毎日挑戦してみた 21. Merge Two Sorted Lists(Python、Go)

## はじめに

無料英単語サイト[E-tan](https://your-e-tan.com/)を運営中の@ishishowです。

プログラマとしての能力を上げるために毎日leetcodeに取り組み、自分なりの解き方を挙げていきたいと思います。

#### Leetcodeとは

[leetcode.com](https://leetcode.com/)
ソフトウェア開発職のコーディング面接の練習といえばこれらしいです。
合計1500問以上のコーデイング問題が投稿されていて、実際の面接でも同じ問題が出されることは多いらしいとのことです。

Go言語入門+アルゴリズム脳の強化のためにGolangとPythonで解いていこうと思います。(Pythonは弱弱だが経験あり)

#### 7問目(問題21)

#### 21. Merge Two Sorted Lists

– 問題内容(日本語訳)

> 2つのソートされたリンクリストをマージし、新しい**ソートされた**リストとして返します。新しいリストは、最初の2つのリストのノードをつなぎ合わせて作成する必要があります。

元記事を表示

【Lambda】pythonの外部モジュールをS3経由で取り入れてみた

# 概要
lambdaを使ってdisny監視botを作る際にlambdaを使って定期実行したかったのでawsのlambdaを使うことにした。
この際に、line-sdk-botをlambdaに取り入れる必要があったのでその方法を記す。

※lambdaを初めて触るため間違っているところがあったら指摘ください。

# ローカルの設定
まずはdocker-lambdaディレクトリを作成する。

“`
mkdir docker-lambda
cd docker-lambda
“`

ディレクトリの構造は以下。

docker-lambda
├── Dockerfile
├── deploy.sh
└── requirements.txt

それぞれのファイルは以下のように構成する。

Dockerfileは以下。

“`:Dockerfile
FROM lambci/lambda:build-python3.7
ENV AWS_DEFAULT_REGION ap-northeast-1

ADD . .

CMD pip install -r requirements.txt -t p

元記事を表示

【設計検討1】PC操作自動化システムの設計検討1

#概要
本日よりPC自動化システムの開発を行う。
以下をまとめる
要件定義
画面イメージ
ユーザ操作

#要件定義
クリック操作、キーボード入力を自動化したい

#画面イメージ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700308/8f0faf5a-64f8-a7c8-8634-7abda0c0247e.png)

Read picture:
クリックするとフォルダ選択フォームが開く
フォルダ内の画像をすべて読み込む

Picture list
Read pictureによって読み込んだ画像が表示される。

Code text
コード入力テキスト

Execute
Code text内の関数を実行する

#ユーザ操作
ユーザが行う操作フローを示す。
Gui起動
⇒Gui画面が開く
Read pictureをクリック
⇒フォルダ選択画面が開く
選択をクリック
⇒Picture listに画像ファイル一覧が表示する
Picture listからクリック対象の画像を選択
I

元記事を表示

プログラミング始めて2ヶ月半の初心者がFlaskを使ってWebアプリを作った日

#はじめに
まずこの記事を読んでくださってありがとうございます!

以前、データ分析の記事を出してから約2週間が経ちました。

今回はAidemyさんのAIアプリコースを受講し終えたので、Webアプリを作っていきたいと思います。

アプリは画像分類をしてくれるアプリです。

###誰のための記事か?
プログラミングを始めようとしている、あるいは始めて間もない方々です。特に社会人でプログラミング学習に

関心があるかたに読んでくださると、参考の一つになると思います。というのも、私がアプリ制作をしたのは仕事

終わりの少しの時間と休日を割いて使った時間です。そのため「仕事をしながらプログラミングをすると、どの

程度のことをプログラミングできるのか?」という、社会人でありプログラミング初心者が気になる疑問に対する

答えのサンプルの一つを提供できると思っています。

###読者様への注意点
アウトプットをすること自体を重要視しているので、コードの内容を厳密に理解しているわけではないので、

細かい説明が出来ない場合があります。申し訳ございません。

 コードを厳密に理解していなくても

元記事を表示

PythonからAPIを使ってAnsibleを実行する

# 初めに
Ansibleって便利ですよね。同じ作業をたくさんのサーバで行う時は神様だと思います。

Playbookを叩くだけでも十分自動化している感ありますが、Playbookの実行も良い感じに自動化したいと思いました。
シェルスクリプトを書いても良いんですが、結果などをパースするのは面倒です。

そこで今回は、Pythonから良い感じにAnsibleを叩いてみたいと思います。
意外と記事が見つからなかったです。

# ソースコード
`__main__`から読むとわかりやすいです。
`192.168.0.1`で`ls -la /`を実行するPlaybookです。
Ansibleをコマンドで使ったことがあれば簡単に読めると思います。
所々簡単なコメントを入れているのでご参考に。

“`
pip3 install ansible
“`

“`python
import json
import shutil
from ansible.module_utils.common.collections import ImmutableDict
from ansible.parsing.d

元記事を表示

Lambda(Python)でRDSスナップショットをS3にエクスポートする

#はじめに
RDSのデータを参照する際

・日時のdumpジョブなどを用意していない
・リードレプリカがない
・商用環境ログインには問答無用で承認が必要

などの理由で直接RDSの中身を覗くことが困難な場合がありました。
そんな時、Amazon RDSにはスナップショットをS3にエクスポートし、Athenaで参照することが可能とのことでしたので実際にLambdaを使ってRDSスナップショットのS3エクスポートを試してみました。

#全体像

スクリーンショット.png

RDSスナップショットのS3へのエクスポートをLambdaにて実行する。
エクスポートされたデータはKMSにより暗号化されるため、KMSキーも用意する必要がある。

#前提
・RDS及びスナップショットを作成してある。
・エクスポート先のS3バケ

元記事を表示

[Python] DP ABC184D

金貨がX枚、銀貨がY枚、銅貨がZ枚のときの答えをdp(X,Y,Z)とします。X,Y,Zのいずれかが100のときdp(X,Y,Z)=0 です。そうでないとき、どの硬貨を引いたか3通りの場合を考えることで、

“`math
dp(X,Y,Z)=
\frac{X}{X+Y+Z}(dp(X+1,Y,Z)+1)
+\frac{Y}{X+Y+Z}(dp(X,Y+1,Z)+1)
+\frac{Z}{X+Y+Z}(dp(X,Y,Z+1)+1)
“`

となります。(金貨を引く確率×金貨を引いた時の操作回数の期待値+銀貨を……)

この式に従ってDPを行うと答えを求めることができます。実装はメモ化再帰により行うと容易です。

“`python:サンプルコード
import sys
sys.setrecursionlimit(10 ** 6)

def dfs(a, b, c): # メモ化再帰
if dp[a][b][c] >= 0: # 既に値がわかっている場合はそのまま返す.
ret = dp[a][b][c]
else: # 値がわかっていない場合、漸化

元記事を表示

Djangoで外部の既存データベースを参照する

## 概要
* 既存でデータベースを運用していたが、新規で構築するDjangoアプリケーションからそのデータベースを参照したかった。
* DjangoのデフォルトDB以外も参照できる。
* Mysqlでしか試していないがPostgresも同様にできると思われる。

## 設定方法
### DB情報を追記
* DATABASES が辞書形式になっているので追記する。

“`settings.py
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: db,
‘USER’: user,
‘PASSWORD’: password,
‘HOST’: ‘mysql01’,
‘PORT’: ‘3306’,
},
‘otherdb’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: otherdb,

元記事を表示

バッチファイルで python 仮想環境を有効化後、pythonファイルを実行する

# やりたいこと
タスクスケジューラでパイソン仮想環境でのパイソンファイル実行を
自動化したかったため

# バッチファイルの中身
call と実行したいコマンドをそれぞれ&でつなぎ一行でかくことで実現可能

“`
call xxx\Scripts\activate & cd [pythonファイルのあるパス] & python [実行したいパイソンファイル]
“`

###上記のソースでは下記を行っている
1.仮想環境の有効化
2.パイソンファイルのあるディレクトリへ移動
3.パイソンファイルの実行

元記事を表示

統計的仮説検定についてまとめてPythonで実施する

#はじめに
統計的仮説検定についてまとめました。後々「検出力」や「効果量」について整理した記事を書きたいと思っておりその前段として本記事を書きました。
筆者は統計の専門家ではないため誤りがあればご指摘いただけると幸いです。

##参考
「統計的仮説検定」についてまとめるあたって下記を参考にしています。

– [統計学の時間](https://bellcurve.jp/statistics/course/)
– [統計学入門 (基礎統計学Ⅰ) 東京大学教養学部統計学教室](https://www.amazon.co.jp/dp/4130420658/ref=cm_sw_r_tw_dp_U_x_r56nEb3G5Y13F)
– [仮説検定とは?](https://ai-trend.jp/basic-study/hypothesis-testing/about-2/)

#統計的仮説検定について
統計的仮説検定についてその流れを整理し最後にPythonで実施します。

##統計的仮説検定とは何か
統計的仮説検定についてはwikipediaは下記以下のように説明されています。

>統計的

元記事を表示

OTHERカテゴリの最新記事