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

Python関連のことを調べてみた2020年03月17日
目次

Selenium Grid を Docker で試す

[Anaconda イメージに Chrome をインストールしてみたり](https://qiita.com/hoto17296/items/c2abfb60d3c6a77f065d) していたが、やはりビルドに時間がかかってしまってしんどいので Chrome 部分だけ別イメージとして切り出せないかと考えていたところ、WebDriver の操作を REST API 経由で行える Selenium Grid なる仕組みがあることを知ったので試してみた。

## Selenium Grid を起動する
Selenium Grid を利用できる Docker イメージが公式から公開されているのでこれを使う。

[SeleniumHQ/docker-selenium: Docker images for Selenium Grid Server (Standalone, Hub, and Nodes).](https://github.com/SeleniumHQ/docker-selenium)

複数のブラウザを使う場合は Hub と各ブラウザの Node をそれぞれ立ち上げる必要があるが

元記事を表示

最短で機械学習エキスパートになる9つのステップ【完全無料】

## はじめに
Step 1, 2, 7に関しては、時間がなければやらなくてもいいと思います。

## 1. 統計を学ぶ
– [統計検定2級の取得](http://www.toukei-kentei.jp/about/grade2/)

## 2. MLの原理を知る
– [Machine Learning -coursera](http://coursera.org/learn/machine-learning) 

– [勾配降下法の最適化アルゴリズムの概要](http://ruder.io/optimizing-gradient-descent/index.html#visualizationofalgorithms)

## 3. Pythonを学ぶ
– [Python -Google](https://developers.google.com/edu/python/)

## 4. MLの基礎を学ぶ
– [Machine Learning Crash Course](https://developers.google.com/machine-learning/crash

元記事を表示

PythonでGoogle Spread Sheetを編集しよう(Google APIとPythonで低コストRPA 事例)

# はじめに
みなさんはSpreadSheetやExcelなどの図表ソフトでデータを扱う機会がどれくらいあるでしょうか?
多くの方が業務内で多くの時間をかけて使用されていると想定されます。

多くの時間をかける図表データをPythonで操作でき、かつ、ルーティンワークを自動化できれば業務効率化にきっと繋がります。
それでは、人気のPythonでSpreadSheetを操作してみましょう。

# 概要
本記事では、Google Drive内にあるSpreadSheetに対して「読み/書き/消去/フォーマット変更」を行うためのPython Classを公開します。

すでに巷ではgspreadという便利なPython Libはありますが、以下の目的でやってみましょう。

– Google APIの使い方に慣れる
– Format変更をRequestを通して実施してみる

今回はあえてClassを定義しインスタンス化して使用する例を提示します。
インスタンス化することで複数のSpreadSheetを同時に編集できますので是非試してみてください。
また、あくまでClassは例ですので、気にな

元記事を表示

Pythonを爆速にする「Cython」チュートリアル: C++のクラスオブジェクトを、Python側のクラスオブジェクトに引き渡す。その②

##概要
C++ で書いているコードを、どうしてもPythonで呼べる形のライブラリにしたい。
ただ、そこにはCythonという大きな壁が立ちはだかっていた。

これは、Pythonを爆速にする「Cython」チュートリアル: C++のクラスオブジェクトを、Python側のクラスオブジェクトに引き渡す。その① の続きになります。

コードは「[ここのgithub](https://github.com/kenmaro3/cython_practice)」にあげてあるので、ぜひご覧ください。

前回は、C++で書かれたライブラリをCython化してPythonから使えるようにする際の、C++で宣言された型をPython側に引き渡す、というところを解説しました。

intやdoubleそのものであったり、それらを要素に持つvectorなどはそのまま引き渡すと、Python側で適当な型に変換されることがわかりました。

今回は、C++のコードで自分で定義したクラスのオブジェクトをPython側に返す方法を解説します。

##状況説明
テスト用にこのような“`TestClass2“`を新

元記事を表示

Pythonはじめから勉強 Hour2:制御文

# Pythonはじめから勉強 Hour2:制御文

* Pythonで何かしようとしたときに、まずサンプルスクリプトを探してなんとなく実行してた私が、
* 自動実行でREST API叩いて、結果の確認、VM操作までやってみたいと思う7時間

## 学習資料

* たった 1日で基本が身に付く! Python超入門
* https://a.r10.to/hbHMiv
* 過去の記事
* [Pythonはじめから勉強 Hour1:Hello World](https://qiita.com/matsumo2019/items/5a69381f44456e6e6a5d)

## 環境

* Windows
* Python Ver3系

## プログラムファイル(.py)を作って実行

### テキストファイルで作って実行

* 日本語も扱えるけどUTF-8で書くこと。SJISとかエラーになります。

* 今までやったスクリプトをテキストファイルで作成(test_01.py)

“`
print(1)
print(‘2’)
a = 1

元記事を表示

Pythonを爆速にする「Cython」チュートリアル: C++のクラスオブジェクトを、Python側のクラスオブジェクトに引き渡す。その①

##概要
C++ で書いているコードを、どうしてもPythonで呼べる形のライブラリにしたい。
ただ、そこにはCythonという大きな壁が立ちはだかっていた。

これは、Pythonを爆速にする「Cython」チュートリアル: C++のコードが、ライブラリに依存しているときのsetup.pyの書き方。 の続きになります。

コードは「[ここのgithub](https://github.com/kenmaro3/cython_practice)」にあげてあるので、ぜひご覧ください。

前回までで、C++のコードがライブラリに依存している時、それをCython化するためのsetup.pyの書き方を解説しました。
そのときに使用したC++側の関数は、void型のみでした。しかしながら、もちろん関数はvoidを使用するよりも、なにかしらの型の値を返したりする関数をよく書くと思います。
今回は、void型でなく、C++側の型を返す関数を、どうCython化し、Python側に引き渡すかについて解説していきます。ここがわかるとかなりやれることが増えるので、ぜひご覧ください。

当たり前ですが、C

元記事を表示

Pythonを爆速にする「Cython」チュートリアル: C++のコードがライブラリに依存しているとき。setup.pyを書く。

## 概要
C++ で書いているコードを、どうしてもPythonで呼べる形のライブラリにしたい。
ただ、そこにはCythonという大きな壁が立ちはだかっていた。

これは、 Pythonを爆速にする「Cython」チュートリアル: C++のコードがライブラリに依存しているとき。まずはCMake。 の続きになります。

ここまでで、gmpライブラリに依存したC++のプログラムを、cmakeを使って快適にコンパイルするところまでを見てきました。ここからやっと本題ですが、このC++プログラムをcythonizeするコードを書き、それをsetup.pyでコンパイルしていきます。

ここで使用したコードは、[ここのgithub](https://github.com/kenmaro3/cython_practice) にありますので、興味のある方はご覧ください!

## 状況説明
前回の記事では、まずそもそもsetup.pyを書くために自分のC++のプログラムの依存関係についてきちんと理解しておく必要があったため、

– C++のプログラムを書くときにつまづきやすい、依存関係について
– CM

元記事を表示

言語処理100本ノック-56:共参照解析

[言語処理100本ノック 2015](http://www.cl.ecei.tohoku.ac.jp/nlp100/)[「第6章: 英語テキストの処理」](http://www.cl.ecei.tohoku.ac.jp/nlp100/#ch6)の[56本目「共参照解析」](http://www.cl.ecei.tohoku.ac.jp/nlp100/#sec56)記録です。
第6章で前回まで準備運動レベルの簡単さでしたが、そろそろ考えさせられる内容になってきます。

# 参考リンク

|リンク|備考|
|:–|:–|
|[056.共参照解析.ipynb](https://github.com/YoheiFukuhara/nlp100/blob/master/06.%E8%8B%B1%E8%AA%9E%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%81%AE%E5%87%A6%E7%90%86/056.%E5%85%B1%E5%8F%82%E7%85%A7%E8%A7%A3%E6%9E%90.ipynb)|回答プログラムのGitHubリンク|
|[素人

元記事を表示

Djangoの初期データをリレーションつきで登録したいとき

Djangoで初期データを設定する方法は少し癖があります。
自分で少しハマったところを書きます。

# ForeignKeyを含むデータの初期化

外部参照しているフィールドのPrimary Keyを書けばいいよっていうチュートリアル。。
ただ、残念なことにPrimary Keyをuuidに変更していたこともあり、それができなかった。

ちなみに参考までに、こういうことをしておりました。

“`models.py
class UUIDpk(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4,)

class Meta:
abstract = True
“`

“`parent.json
[
{
“model”: “app.ParentModel”,
“fields”: {
“name”: “Dog”
}
}
]
“`
“`children.json
[
{
“model”: “app.Child

元記事を表示

エンジニアの貴方必見

https://www.reiwarss.com/OpenProject

Top tags
python
swift
javascript
go
C
C++
C#
Ruby
TypeScript
PHP

元記事を表示

__call__についてのメモ

#はじめに
python、kerasともに初学者です。自分用の忘備録です。

#この書き方はなんだろう
Keras functional APIなるものを使うと、keras Sequential APIよりも複雑なニューラルネットワークを使うことができるとのことです。

そこで出てくるのが以下のような書き方です。

“`001.py
import keras
from keras import layers

inputs = layers.Input(shape=(784,))
dense_hoge = layers.Dense(64, activation=’relu’)
x = dense_hoge(inputs)# これ!
“`
dense_hoge は keras.layers.core.Dense クラスのインスタンスなのですが、インスタンス名に続けてカッコがあり、中に変数名_inputs_が書いてあります。

しかも最後の2行は、

“`002.py
x = layers.Dense(64, activation=’relu’)(inputs)
“`
とも書けると

元記事を表示

Pythonで シグナルをトラップするサンプルスクリプト

# 目的
シグナルの勉強をしてて、SIGTERMをトラップするスクリプトをメモとして残します

# 参考
こちらを参考にしました

# スクリプト

“` signal.py
import signal
import time
from threading import Thread

FLAG = False

def handler(signum, frame):
global FLAG
print(“signal={}”.format(signum))
FLAG = True

def waiting():
global FLAG
while not FLAG:
print(“Waiting for signal…”)
time.sleep(5)

t1 = Thread(target=waiting, args=[])
t2 = Thread(target=waiting, args=[])

元記事を表示

Twitterの「#2019年映画ベスト10」のタイトルをPythonで集計してみた

#はじめに
Twitterの一部の映画ファンの間では、年末時期になるとその年に観た映画のタイトルをベスト10形式でつぶやくという文化があります。以下みたいな感じです。**年間数十~数百本も映画を観るコアな映画ファンが選りすぐった10本**ということで、**世間一般的な興収ランキングや人気ランキングとはまた違った結果** が得られそうな気がします。ということで、今回はプログラムでそれらのツイートを自動収集し、つぶやかれたタイトルを集計してみました。
**映画ベスト10ツイートの例**

Anacondaで仮想環境作って、pip installするのってどうなの?

こんな感じで…

“`
$ conda create -n hoge python=3.6
$ conda activate hoge
$ pip install -r requirements.txt
“`

元記事を表示

Pythonでできる! 2次元コロイド結晶の構造解析

# はじめに
本記事では、二次元コロイド結晶画像を用いて、下のような解析を行います。

1. コロイド位置の検出
2. 動径分布関数(のようなもの)の導出
3. 第1近接原子の計数とプロット
4. 近接原子の配位角度を指標とした多結晶粒可視化

コロイド画像は以下のものを使いました:yum:

![800px-ColloidCrystal_10xBrightField_GlassInWater.jpg](https://qiita-image-store.s3.amazonaws.com/0/203101/e4158992-2f98-bb62-6562-7837bd9bc066.jpeg)
作者 Zephyris [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0) または GFDL (http://www.gnu.org/copyleft/fdl.html)], [ウィキメディア・コモンズ](https://commons.wikimedia.org/)より[(リンク)](https://commons.wik

元記事を表示

Pythonはじめから勉強 Hour1:Hello World

# Python勉強 Hour1:Hello World

* Pythonで何かしようとしたときに、まずサンプルスクリプトを探してなんとなく実行してた私が、
* 自動実行でREST API叩いて、結果の確認、VM操作までやってみたいと思う7時間

## 学習資料

* たった 1日で基本が身に付く! Python超入門
* https://a.r10.to/hbHMiv
*

## 環境

* Windows
* Python Ver3系

## 基礎

### インストール

* 特に難しくないのでダウンロードしてウィザードに従って進める
* 「Pythonインストール」とかで検索すれば
* http://www.python.org
* 環境変数を追加するチェックを入れること「Add Python 3.X to PATH」にチェック

### Pythonの起動

* 自動実行やダブルクリックでの実行は 置いといて、インタラクティブに実行する

* コマンドプロンプト / PowerShellで起動

“`
C:\>py

元記事を表示

PyTorchでデータ水増し(Data Augmentation)する方法

# PyTorchでデータの水増し(Data Augmentation)
 PyTorchでデータを水増しをする方法をまとめます。PyTorch自体に関しては、以前ブログに入門記事を書いたので、よければ以下参照下さい。

[注目のディープラーニングフレームワーク「PyTorch」入門](https://karaage.hatenadiary.jp/entry/2020/02/03/073000)

 データ水増しを実施する理由や、具体例などは以下記事参照下さい。

[フリー素材で遊びながら理解するディープラーニング精度向上のための画像データ水増し(Data Augmentation)手法](https://karaage.hatenadiary.jp/entry/2019/07/22/073000)

 またこの記事は「Google Colaboratory(Google Colab)」で実行することを前提に書かれています。Google Colab自体に関してはこの記事では説明しません。知らない方は、以下記事を参照してみてください。

[Google Colaboratoryを使えば環

元記事を表示

歌ってみた動画のタイトルから楽曲名を取得する

# 背景
* 歌ってみた動画の分析をする際に、「どの楽曲か」の情報は重要です。
* しかし、YouTubeの場合、動画に楽曲タイトルが紐づいてないこともあります。
* そこから楽曲タイトルを見つける部分を手動でやるのが辛いのでなんとかしようと思いました。

# コード
普通に正規表現とかを使って処理しました。

“` get_song_titles.py

def get_song_title(raw_title):

# ()()[]【】を除外する。左が半角で右が全角だったりすることもある。
title = re.sub(“[【(\(\[].+?[】)\)\]]”,””,raw_title)

# 「」と『』がある場合、その中の文字列を取り出す
if “「” in title and “」” in title:
title = title.split(“「”)[1].split(“」”)[0]

if “『” in title and “』” in title:
title = title.split(“『”)

元記事を表示

もうエラーなんて怖くない! Pythonのエラーとその原因・解決策

**プログラミング**をやっていると必ず遭遇するもの、その一つが**エラー**です。一生懸命書いたプログラムを実行すると、意味の分からない長文が英語で出てきた!このエラーが解決できずに挫折してしまうという方も多いと思います。この記事では、**Python**におけるエラーの原因と、その解決方法についてお伝えしようと思います。

# 1. SyntaxError
大抵のプログラミング初学者がまず初めに遭遇するエラーだと思います。一つずつ確認していきましょう。
このエラーは直訳すると「**構文エラー**」、つまり文法にミスがあるという事です。このエラーが出たら、閉じ括弧`)`の付け忘れや、全角スペース、`if`文、`for`文、`while`文におけるコロン`:`の書き忘れを疑いましょう。
ここからはいくつか例を挙げて説明をしていきます。
## 1.1. 括弧を閉じよう!
**括弧**`()`がなかったり、閉じ忘れていたりすると、
**`SyntaxError: unexpected EOF while parsing`**
というエラーが出てしまいます。
### エラーが出るコード

`

元記事を表示

OTHERカテゴリの最新記事