読者です 読者をやめる 読者になる 読者になる

紙媒体で管理するとなくなりがちなのでブログで進捗などを管理することにしました
※殆どの記事は自分自身のためだけにかいています.他人に見せられるレベルには至っていません...

Python

「5000兆円欲しい」までツイートし続ける

#!/usr/bin/env python # -*- coding: utf-8 -*- from requests_oauthlib import OAuth1Session def Tweet(tweet): """str型のtweetを受け取り,それをツイートする """ CK = '' # Consumer Key CS = '' # Consumer Secret AT = '' # Access Token AS = '' # …

【Python】【画像処理】k-means法で画像を減色

上の画像を7色に減色した. ソースコードは適宜変数を付け足していったので自分でもわからなくなったので注意. #coding:utf-8 """ $jupyter notebook $for python3.x """ from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import nu…

【Python】3Dグラフを自動回転する

3Dグラフを自動で回転させる方法が載ってる. meganehouser.hatenablog.com

【Jupyter】実行+下のセル

Shift+Enterでできる!

【Python】【画像処理】画像の画素毎のGBR値を3Dグラフにプロットする

#coding:utf-8 """ $jupyter notebook $for python3.x """ from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np from sklearn.cluster import KMeans from PIL import Image from PIL import ImageDraw from rando…

【python】画像表示

jupyterで画像の読み込みするときに便利 from PIL import Image im = Image.open("./img_0.jpg") im.show()

【Python】【機械学習】3次元モデルのk-means

#for python3.6 from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np from sklearn.cluster import KMeans #サンプルを定義 a = [0.0,0.0,0.0] b = [0.1,0.1,0.1] c = [1.0,1.0,1.0] d = [0.9,0.8,0.7] e = [1.0,0…

【Python】3次元モデルのプロット

from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np x = np.arange(-3,3,0.25) y = np.arange(-3,3,0.25) X,Y = np.meshgrid(x,y) Z = np.sin(X) + np.cos(Y) fig = plt.figure() ax = Axes3D(fig) ax.plot_wiref…

【Python】【スクレイピング】HTMLデータのスクレイピング

import urllib.request url = 'http://umashika5555.hatenablog.com/' response = urllib.request.urlopen(url) data = response.read() decoded_data = data.decode('utf_8') print(decoded_data) import urllib.request import bs4 url = 'http://umashika…

【Python】【OpenCV】n*m のランダムな色の画像を作成

# vim: set fileencoding=utf-8 : import numpy as np import cv2 from random import randint import numpy as np cols = 320 rows = 320 #イメージ生成 image = np.zeros((rows, cols, 3), np.uint8) div = 16 # 縦横の分割数 w = cols / div # 分割された…

【並行処理】【Python】

プロセス間の同期 multiprocessing.Lock()を用いると標準出力に書き込んだ場合は一度に一つのプロセスしか書き込まない. from multiprocessing import Process, Lock def f(l, i): l.acquire() try: print('hello world', i) finally: l.release() if __name…

【並行処理】【Python】プロセスについて

Processクラス multiprocessingクラスでのプロセスの手順 Processのオブジェクトを作成 start()メソッドの呼び出し join()で処理が完全に終わるまで待つ Process()クラスの呼び出しで引数はtargetに実行したい関数名,argsにtargetに入れる引数を入れる.一つ…

【Python】コマンドライン引数

コマンドライン引数はsys.argvで操作することができる. 先頭は自身のプログラムの名前となることに注意. #sample.py import sys print("コマンドライン引数:",sys.argv) $python sample.py a b cコマンドライン引数:['sample.py','a','b','c']

【環境構築】【Linux】Python2.x にOpenCVを入れる

avinton.com

【Python】関数の返り値について

PythonではNone,False,0,"",[]などがFalseに評価されるので関数の返り値としてNoneを返すのはバグを起こしやすい. Noneを返すよりは例外処理するほうが良い,さらに呼び出しの部分で例外処理の結果を明らかにしておくことが望ましい. def divide(a,b): try: r…

【Windows】【Python】Anaconda2にOpenCVを入れる

opencv.org ここからWinPackを選択してダウンロード,インストール Anaconda2\Lib\site-packages\にダウンロードしたファイルのopencv\build\python\2.7\x64\cv2.pydをコピーする.

【Python】ループ中の要素の削除

for element in LIST: if ---: LIST.remove(element) for i,enumerate in LIST: if ---: del LIST[i] 上でValueErrorが出たが下で書きなおしたら出なくなった. 全体の処理的には同じ位置を削除するようにしたつもりだけど何故だろう.

k-means法 準備

k-means法で理想的な結果が出せるようにデータを予めプロットしておく方法 # -*- coding: utf-8 -*- impo from sklearn.datasets import make_blobs import matplotlib.pyplot as plt X,y = make_blobs(n_samples=150, #サンプル点の総数 n_features=2, #特…

Irisのデータプロット

# -*- coding: utf-8 -*- impo import pandas as pd import matplotlib.pyplot as plt import numpy as np #データの取得 df = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data",header=None) df.tail() #1-100行目…

Tweepy

#!/usr/bin/env python # -*- coding:utf-8 -*- import tweepy CONSUMER_KEY = '-----------------------' # Consumer Key CONSUMER_SECRET = '-----------------------' # Consumer Secret auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) ACCE…

アニメop顔検出器+分類器

うまく分類できないなもっと精度あげたい pic.twitter.com/nEsDQc7Vio— 雨宿まち (@vocky_Zn) 2017年3月31日今後すること トレーニング画像の種類を増やす. 出力層の出力を増やして分類の数を増やす.

【python】ファイルの書き込み

追記でテキストファイルに書き込み f = open("test.txt","a") f.write("hoge\n") f.close() qiita.com

【python】ファイルやディレクトリの有無を調べる

import os.path os.path.exists(path)#True or False ファイルやディレクトリの有無を調べる - Python Tips

【Python】namedtupple

>>>from collections import * >>> # Basic example >>> Point = namedtuple('Point', ['x', 'y']) >>> p = Point(11, y=22) # instantiate with positional or keyword arguments >>> p[0] + p[1] # indexable like the plain tuple (11, 22) 33 >>> x, y =…

【python】【機械学習】Jupyterの起動方法

jupyterはanacondaに入っている. $jupyter notebook $ipython notebook右上の選択画面からpython2を選んでコードを書く.

【TensorFlow】tf.Variableのトレーニング

sess = tf.Session() sess.run(tf.initialize_all_variable()) これを実行した時点でそのセッションにおけるtf.Variableの値が初期化される. 複数のセッションを宣言し個別に計算させることも可能.

機械学習とTensorFlow

機械学習の大まかな手順 1.教師データから未知のデータを予測する式を立てる. 2.数式に含まれるパラメータを評価する損失関数を用意する. 3.損失関数を最小にするパラメータを用意する.(勾配ベクトルが小さくなるように移動)で表され Xはトレーニングセット…

【DL】sigmoid関数, ReLU関数

sigmoid関数 import numpy as np def sigmoid(x): return 1/(1+np.exp(-x)) def main(): x = np.array([-2.0 ,1.0, 2.0]) y = sigmoid(x) print(x) print(y) if __name__=='__main__': main() 結果は下記 入力が小さいほど出力も小さい. 入力が大きいほど出…

Anacondaインストール

Python2.x ここからインストーラをダウンロード Download Anaconda Now! | Continuum bash Anaconda2-4.3.1-Linux-x86_64.sh ひたすら"yes"を入力 端末を再起動する conda -Vと入力して確認する. Anaconda を利用した Python のインストール (Ubuntu Linux) …

python コマンドの実行

import commands print(commands.getstatusoutput("ls")) #(0, 'IMG\nhaihuri_op.mp4\nsample.py') print(commands.getoutput("ls")) #IMG #haihuri_op.mp4 #sample.py 36.16. commands — コマンド実行ユーティリティ — Python 2.7.13 ドキュメント

python opencv7 カスケード分類器

事前に学習したい物体の特徴を抽出して, 特徴量を機械が学習し, 学習データのまとまりをカスケード分類器というらしい. OpenCVでは"/usr/local/share/OpenCV/haarcascades/lbpcascade_animeface.xml"のようにxml形式で扱う.pythonでは読み込んだ画像を 1.グ…

python ファイル読み込み

python sample.py img.jpgのように引数を取るには下のように書けばよい. args = sys.argv #sample.py img.jpg argc = len(args) if(argc != 2): print '引数を指定して実行してください' quit() image_path = args[1]#sample.jpg

python matplotlib, pylabのインストール

qiita.com Python によるMATLAB (pylab)

python opencv6 グレイスケールへの変換

cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)を用いる. imgread()で第二引数に0を指定しても同じ効果な気がする. # -*- coding: utf-8 -*- import cv2 def main(): img = cv2.imread("cocoa.jpg",0) cv2.imshow("cocoa",img) img = cv2.imread("cocoa.jpg") gray =…

python opencv5 画像の重ねあわせ

im = im1 + im2という感じで重ねあわせられる(すごすぎ!) im1,im2は同じサイズでなければならない. # -*- coding: utf-8 -*- import cv2 def main(): # 2枚の画像をグレースケールで取得 im1 = cv2.imread("test1.png",0) im2 = cv2.imread("test2.png",0) …

python opencv4 画像のりサイズ

画像のりサイズにはcv2.resize()を使う. 引数には読み込んだ画像と,リサイズしたい高さと幅のタプル #!/usr/bin/env python # -*- coding: utf-8 -*- import numpy as np import cv2 # Load an color image in grayscale original_size_img = cv2.imread('co…

python opencv3 画像の範囲切り取り+保存

#!/usr/bin/env python # -*- coding: utf-8 -*- import numpy as np import cv2 # Load an color image in grayscale img = cv2.imread('cocoa.jpg',1)#0:グレースケール 1:通常 cv2.imshow('cocoa',img)#読み込んだ画像を表示 x = 200 y = 200 width = 100…

python opencv2 画素へのアクセス

RGBではなくBGRの順にリストになっているのが注意 #!/usr/bin/env python # -*- coding: utf-8 -*- import numpy as np import cv2 # Load an color image in grayscale img = cv2.imread('cocoa.jpg',1)#0:グレースケール 1:通常 cv2.imshow('cocoa',img)#…

python opencv1 画像を読み込んで表示

#!/usr/bin/env python # -*- coding: utf-8 -*- import numpy as np import cv2 # Load an color image in grayscale img = cv2.imread('cocoa.jpg',0)#0:グレースケール 1:通常 cv2.imshow('cocoa',img)#読み込んだ画像を表示 cv2.waitKey(0)#キーを押すと…

スクレイピング

imgタグのみを抽出する. # encoding : utf-8 # for python3 import urllib.request import os.path import pyquery as pq import requests from bs4 import BeautifulSoup import urllib.request from urllib.request import Request, urlopen #def download…

Python3で画像スクレイピング

指定したサイトで画像を一括ダウンロードできる. 備忘録とかそんな感じ — python3.xでweb上の画像を一括ダウンロード # encoding : utf-8 # for python3 import urllib.request import os.path import pyquery as pq import requests def download(url, fold…

Iterator並列処理

alphabet_list = ['a','c','e','b'] ascii_code_list = [0x61,0x63,0x65,0x62] max_ascii_code = 0x00 for alphabet,ascii_code in zip(alphabet_list,ascii_code_list): if ascii_code>max_ascii_code: max_alphabet = alphabet max_ascii_code= ascii_code…

enumerate

alphabet_list = ['a','b','c','d','e'] for i in range(len(alphabet_list)): print(alphabet_list[i]) for i,alphabet in enumerate(alphabet_list): print('%d %s'%(i+1,alphabet)) 上のようにC++やJavaのように添字に対応させるのではなく下のようにenum…

画像二値化

ithat.me このサイトを参考にしてPythonで実装した. PILでGlayScaleにする方法はあるそうだが今回は敢えて使わずに実装した. #coding:utf-8 from PIL import Image from PIL import ImageDraw from random import randint from os.path import exists from o…

Python

Pythonでimport thisとやると下のような文が出ることが分かった. 今日から「Effective Python」を読み始める. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat…

Project Euler 65 Convergents of e

projecteuler.net e=[2;1,2,1,1,4,1,1,6,1,...,1,2k,1,...] という連分数展開の問題後ろから深さ優先探索で解く. from fractions import Fravtionsすると分数型が出来て便利 gist.github.com

AOJ0033 Balls

玉 | Aizu Online Judge 再帰 // gist.github.com // gist.github.com AIZU ONLINE JUDGE: Code Review

Project Euler 345 Matrix Sum

N-Queen問題の斜め無い版(N-飛車問題?,N-ルーク問題?)のアルゴリズムで考えられうる盤面を全て用意しそのマスに配置された数字の合計の中で最大のモノを探せばよい. サンプルの5*5盤面では1秒以内で出来たが15*15では時間がかかって出来なかった. もっと早…

Project Euler 145 How many reversible numbers are there below one-billion?

projecteuler.net 単純な解放 奇数の判定はビット演算を計算する. n&1==1ならnは奇数, (not n&1)==1ならnは偶数 d.hatena.ne.jp ↑参考にしたい解答 // gist.github.com

Pythonチュートリアルまとめ

Pythonチュートリアル(Python2.x対応)で自分が知らなかったこと, なんとなくは知っていたけど使っていなかった知識で特に重要そうなものをメモしておく. dir()関数 >>>import sys >>>dir(sys) sysモジュールがどのような名前を定義しているのかを確認できる …