- 1. ディープラーニング 服装の分類機 素材集め編_1
- 2. じゃんけん Python 入門
- 3. Python Matplotlibの動作確認用コード
- 4. wikipediaからワードクラウドを作成するツールを作った
- 5. dashはjupyter notebookでは実行できなかった件
- 6. 全都道府県病院の緯度経度データ
- 7. __call__についてのメモ
- 8. Raspberry PiのGPIO端子のスイッチ入力
- 9. wikipediaにpythonからアクセスする方法
- 10. Djangoテンプレートで呼び出し可能な変数を呼び出させないようにする
- 11. DjangoのChoiceFieldを列挙型で指定する
- 12. [Python] Travis CI と CodeClimate を使って unittest の coverage を算出
- 13. 最強のPySpark用Docker作った
- 14. Pythonで「インターネット アクセスなし」から蘇る
- 15. python でプロパティ呼び出し時にプライベート変数初期化したい
- 16. numpy&numbaで世界最小ヒントの数独を解いた
- 17. ラズパイにて、ラジコンカーを自作する-その3
- 18. 2020年におけるnamedtupleのドキュメントの書き方
- 19. ラズパイにて、ラジコンカーを自作する-その2
- 20. Macで.bash_profile永遠に読み込めない話
ディープラーニング 服装の分類機 素材集め編_1
#【概要】
大目標として、女性服の分類機を作成します。
今回はディープラーニングを行うための素材を集めるための手法について簡単に記述します。#【目標】
ネットで画像を取得する#【環境】
Windows10
google crome (ブラウザ)
python3.6
selenium (pythonライブラリ)#webスクレイピングについて
###知っておくべきこと
webスクレイピングは用法容量を守らないと大変なことになります。
webサイトの規約に違反する場合や相手サーバへ負荷をかけてしまう場合は違法となります。
またスクレイピングで取得したモノの扱い方も注意しましょう。肖像権、著作権など知らなければいけないことは山ほどあります。頑張りましょう。これらについては自分で時間をかけて調査して、健全なスクレイピングを行ってください。
# Python + Selenium
私がスクレイピングにセレニウムを利用する理由はjsで動的に生成されるサイトにも対応できるからです。requestsなんかでもweb探索は可能ですができないことが多く感じたためライブラリを変更しました。
じゃんけん Python 入門
# 簡単なじゃんけんアプリを作る
### 概要
じゃんけんの3つの要素 グー, チョキ, パー をランダムに出力する“`python
import random
janken = [“グー”, “チョキ”, “パー”]
num = len(janken)
print(num)
print(janken[random.randrange(num)])
“`“`
>>> グー
>>> グー
>>> パー
“`
Python Matplotlibの動作確認用コード
手早く手元でmatplotlibの動作確認をしたいとき向けの短いコード
## サンプルコード
“`python:sample
import matplotlib.pyplot as pltplt.plot([1,2,10,18,19,20])
plt.show()
“`
## 結果![Figure_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126628/fab8befb-36ee-0ff2-c74d-d2605a156a9a.png)
wikipediaからワードクラウドを作成するツールを作った
http://www.minekawada.com/kawaminee/wordcloud/%E3%82%A2%E3%83%B3%E3%83%91%E3%83%B3%E3%83%9E%E3%83%B3
urlの形式としては、
http://www.minekawada.com/kawaminee/wordcloud/{検索項目}
の形式でPythonとJavascriptを使用
dashはjupyter notebookでは実行できなかった件
##①dashでjupyter notebook が実行できなかった
上記の問題は使用なために解決できない模様(多分)
##②jupyter notebook で、実行すると、
vscに記述して?ターミナルで実行するとエラーが表示された
“`
helloland@hellolandnoAir dash % python hello.py
File “hello.py”, line 21
SyntaxError: Non-ASCII character ‘\xef’ in file hello.py on line 21, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
“`これは、エンコードがなんとかと問題だった
色々調べた結果、、、
ターミナルの実行コマンドが問題だった
正しくは、、、
“`
Python3 hello.py
“`でした
全都道府県病院の緯度経度データ
# 概要
下記、参考記事を見たときに自分の住んでいる県のデータが存在しなかったので、全県データでCSV・JSONの取得を可能とするツールを作ってみました。## データ
対象病院(日本病院会リスト):
http://www.hospital.or.jp/shibu_kaiin/JSONおよびtsvデータ:
https://github.com/kusunamisuna/hospitalgeodata/tree/master### ソース全文
“`
import csv
import json
import time
import xml.etree.ElementTree as ET
import sysimport requests
from bs4 import BeautifulSoupURL = ‘http://www.geocoding.jp/api/’
TSVPATH = ‘./tsv/’
JSONPATH = ‘./json/’
PREFTABLE = {“1″:”Hokkaido”,”2″:”Aomori”,”3″:”Iwate”,”4″:”Miya
__call__についてのメモ
#はじめに
python、kerasともに初学者です。自分用の忘備録です。#この書き方はなんだろう
Keras functional APIなるものを使うと、keras Sequential APIよりも複雑なニューラルネットワークを使うことができるとのことです。そこで出てくるのが以下のような書き方です。
“`001.py
import keras
from keras import layersinputs = 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)
“`
とも書けると
Raspberry PiのGPIO端子のスイッチ入力
# はじめに
Raspberry PiのGPIO端子を使用して、スイッチ入力を行う際の、プルダウン抵抗について。
Raspberry PiのGPIO端子は、3.3V、最大16mAで作動します。
また、Raspberry Piは複数のGPIOを使用できますが、**同時に流せる電流は50mAまで**です。# 物理プルダウン抵抗
Raspberry PiのGPIO端子は最大16mAまでしか流せないので、抵抗を使って電流を落とす必要があります。オームの法則から、抵抗値を求めます。“`math
R = \frac{V}{I}\\
R = \frac{3.3}{0.016}\\
R = 206.25
“`最低206.25Ω以上の抵抗をプルダウン抵抗として使用します。余裕を持たせて、GPIO端子にかかる電流が3mA程度になるように1kΩ程度の抵抗を使います。
GPIO端子26本すべて使用する場合、78mAと許容量を超えるので、抵抗値を上げる必要があります。## 回路例
GPIO入力端子として26番のGPIO7端子を使用しています。回路のハイインピーダンス(解放)状態を防ぐため、
wikipediaにpythonからアクセスする方法
http://www.minekawada.com/wikipedia-python.html
目次
インストール方法について
pythonでwikipedia検索結果の候補一覧を出す方法
pythonでwikipediaのページを出力する方法
wikipediaのページをさらに詳しく見ていく
Djangoテンプレートで呼び出し可能な変数を呼び出させないようにする
## 結論
オブジェクトに`do_not_call_in_templates = True`を付与する“`py
class SampleCallableClass:
do_not_call_in_templates = Truedef __call__(self):
passdef sample_method(self):
pass
sample_method.do_not_call_in_templates = True
“`## 概要
Djangoテンプレートでは、ある変数が呼び出し可能かどうかをまずチェックし、呼び出し可能であれば引数無しで呼び出します。例えば、`{{ Hoge.fuga }}`において、`Hoge`が呼び出し可能である場合、これは`{{ Hoge().fuga }}`のように評価されます。
しかしながら、呼び出し可能なオブジェクトを呼び出さずにそのプロパティにアクセスしたいという場合があります。
例えば`Hoge`が列挙型である場合は引数無しでの呼び出し`Hoge
DjangoのChoiceFieldを列挙型で指定する
Djangoの`models`における`TextField`や`IntegerField`、そして`forms`における`ChoiceField`に用いる`choices`には、これまでは以下のような形式の値が必要でした。
“`py
YEAR_IN_SCHOOL_CHOICES = [
(‘FR’, ‘Freshman’),
(‘SO’, ‘Sophomore’),
(‘JR’, ‘Junior’),
(‘SR’, ‘Senior’),
(‘GR’, ‘Graduate’),
]
“`Django3.0からは`TextChoices`と`IntegerChoices`というクラスが追加され、以下のような書き方が出来るようになりました。
“`py
class YearInSchool(models.TextChoices):
FRESHMAN = ‘FR’, ‘Freshman’
SOPHOMORE = ‘SO’, ‘Sophomore’
JUNIOR = ‘JR’, ‘Junior’
SENIOR =
[Python] Travis CI と CodeClimate を使って unittest の coverage を算出
# 概要
[CodeClimate](https://codeclimate.com/) のサービスの1つである test coverage 機能を使おうとしたのですが、予想以上に設定に手こずったので、記事にしておこうと思いました。
ネット上で掲載されている記事と環境が一部違ったりして辛かった…
# 対象者
* Travis CI は既に使えている
* CodeClimateについては、コード品質チェックまではできる
* CodeClimateのtest coverage機能がなぜか動かない…設定がおかしいのかな?という方!(ものすごく限定的です)
## イメージ画像
CodeClimateへの通信経路のイメージを書いてみました。
![codeclimate_image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/327407/b4722ffd-9079-037b-d927-832e6589b29b.png)
## environment
|項目||
|:–|:–|
最強のPySpark用Docker作った
# はじめに
PySparkの勉強始めよう!っておもったら結構めんどくさいですよね。– 正しいJava Versionのインストール(Java8じゃないとだめとか)
– pythonの設定(Python3?2?3.5以上じゃないとだめ??)
– Jupyter notebookで快適に勉強したい
– 当然bigdataに挑戦したくなったらS3やAzureStorageでデータの読み書きしたい。
– ちゃんとした環境変数の設定。(JAVA_HOME? SPARK_HOME? なにそれ?)全部、まるっとDokcerイメージにしました。
# イメージの内容物
baseimage: phusion/baseimage:0.11 (ubuntu 18.04ベース)
openjdk-8-jre
hadoop 3.2.1
spark 2.4.5
Anaconda3-2019.10-Linux-x86_64(python3.7.4)
Jupyter notebook
pixiedust 1.1.18# 実行方法
まずはローカルで作業用ディレクトリを作成
“`shell
mkdi
Pythonで「インターネット アクセスなし」から蘇る
# はじめに
**みなさん、突然の「インターネットアクセスなし」に悩まされていませんか?**![netsh_test1 (3)_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110876/0511c206-12cf-9556-09ab-57b64c051e46.jpeg)
私は悩まされていました。
定型業務を自動化するためにスクリプトを組んで古いPCに常駐させているのですが、
PCをつけっぱなしにしているといつの間にか「インターネット アクセスなし」の状態になっていて、手動でPCのネットワークを切断、再接続する必要がありました。
自動化して放置しているのにいつの間にか処理が止まってるの、怖いですよね。そこで、スクリプト内でネットワークの状態確認、再接続を行うようにしてみたので紹介します。
(そもそもなんでインターネットアクセスなしになるのかとか分からないので詳しい人教えてください)
# 環境
・Windows7
・Anaconda3# とりあえず結論(コード)
内容はほぼWind
python でプロパティ呼び出し時にプライベート変数初期化したい
# やりたいこと
– メモリを大量に使うオブジェクトを格納するプライベート変数がある。
– 初期化処理を極力後回しにするため、初回の当該変数用プロパティ呼び出し時に初期化処理を走らせたい。# やったこと
“`python
class Hoge():
@property
def fuga(self):
if not hasattr(self, ‘_fuga’):
print(“initialize!”)
self._fuga = “hello”
return self._fuga
h = Hoge()
print(h.fuga)
print(h.fuga)
“`
“`sh
initialize!
hello
hello
“`コメント反映前の内容
“`python
class Hoge():
@property
def fuga(self):
if not hasattr(snumpy&numbaで世界最小ヒントの数独を解いた
# はじめに
Pythonで数独を解くってやり尽くされている感があるけど、このままだと自分の記憶にしか存在しないコードになってしまうので記事作成することにしました。(記事書くのめんどくさかったという理由が主だったりもするけど、まあコロナで春休みが1ヶ月も伸びて時間が有り余ってるので書きます)# 方針
深さ優先探索。
空欄のマスに数独の条件を満たすような数字を小さい順に仮に入れてみる。仮に入れた状態で他のマス目でも同じことをしてみる。どこかで矛盾したら直前に仮定したところを修正する。これをひたすら繰り返す。いつか矛盾が必ず起きなくなり、空欄が全て仮定の値で埋まる。それが正解。![image.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2F8%2F8c%2FSudoku_solved_by_bactracking.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=7d4a1f06
ラズパイにて、ラジコンカーを自作する-その3
# はじめに
ラズベリーパイにて、自作のラジコンカーをつくったので紹介します。
今回は、ネットワーク越しのラジコン制御になります。![output_img_0008.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/559938/741b3a2a-e687-8f1a-83aa-993149d8b72c.gif)
## ラジコンカー関連の記事
– [ラズパイにて、ラジコンカーを自作する-その1](https://qiita.com/kotaproj/items/11d72758b9b21e453216)
– [ラズパイにて、ラジコンカーを自作する-その2](https://qiita.com/kotaproj/items/f1f93d598dbf99785bb4)
– ラズパイにて、ラジコンカーを自作する-その3 ← 本記事# 紹介する内容
– ラズパイ側のwebサーバ側の作成
– 外部PCからの制御
– iPhone(Pythonista)からの制御# 作るものの全体
![raji
2020年におけるnamedtupleのドキュメントの書き方
とある PR がきっかけで、namedtuple の属性には “Alias for field number xx” という docstring が自動的に設定されるということを知りました。
“`python
$ python
Python 3.8.1 (default, Feb 13 2020, 13:34:23)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
>>> from collections import namedtuple
>>>
>>> Coordinate = namedtuple(‘Coordinate’, ‘X Y’)
>>> Coordinate.__doc__
‘Coordinate(X, Y)’
>>> Coordinate.X.__doc__
‘Alias for field number 0’
>>> Coordinate.Y.__doc__
‘Alias forラズパイにて、ラジコンカーを自作する-その2
# はじめに
ラズベリーパイにて、自作のラジコンカーをつくったので紹介します。
今回は、制御になります。![output_7853_2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/559938/aada34fb-3bbf-763b-b338-539bfe54a85b.gif)
## ラジコンカー関連の記事
– [ラズパイにて、ラジコンカーを自作する-その1](https://qiita.com/kotaproj/items/11d72758b9b21e453216)
– ラズパイにて、ラジコンカーを自作する-その2 ← 本記事
– [ラズパイにて、ラジコンカーを自作する-その3](https://qiita.com/kotaproj/items/0a4c919aa8883632f3d4)# 紹介する内容
– ラズパイ側のラジコン制御
# 作るものの全体
![rajikon-qiita2.png](https://qiita-image-store.s3.ap-northeast
Macで.bash_profile永遠に読み込めない話
前提として今回やろうとしたことは、
「Macでpython3をデフォルトで使用したい」
ということ。
しかし途中で躓いた本件について共有していきたい。「Macでpython3をデフォルトで使用したい」
が為に、シェルにログインする度に読み込むファイルに以下の内容を書き込んだ。
「俺がpythonって言ったらpython3だと思ってね?」過去にもその対象ファイルとして.bash_profileに設定を追加してうまくいった経験が多々あった。
しかし今回はここで相当つまづいた。
正直わかんなくて3ヶ月放置した。笑結論として分かったことは、
「そもそも俺のMacさんのシェルbash使ってない。。。」って話。
じゃあ何使ってたの?っていうとzshっていうシェルだった。
要は使ってるシェルがbashだと思って.bash_profileに色々書き込んでたけど、
使ってんのzshだから意味ねーよと。zshの場合代わりにzprofileってのがあって、
そこに同じようなこと書き込んだら無事成功。もしMacで(もちろんMacじゃなくてもbashで)こんなことで困ってたら参考にしてくださ
関連する記事
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた