Labs

<< 最初 < 前ページ 次ページ > 最後 >>
Python のトピック一覧 条件クリア
icon 2018/04/10 psycopg2 で PostgreSQLに接続
psycopg2 を利用して PostgreSQL に接続する
import numpy as np
import psycopg2 as pg 
import psycopg2.extras

connection = pg.connect("host=localhost port=5432 dbname=db_name user=postgres")

cursor = connection.cursor(cursor_factory=psycopg2.extras.DictCursor)
cursor.execute("SELECT * FROM users")

results = cursor.fetchall()
values = []
for row in results:
    values.append(dict(row))

print(values)

cursor.close()
connection.close()

  • PostgreSQL接続は、psycopg2.connect("DB設定")

  • connection.cursor() で cursor 作成

  • ディクショナリ形式で取得するには、psycopg2.exras.DictCuror を引数にする

  • cursor.execute() でSQLを実行

  • cursor.fetchall() でデータ取得

  • dict() でディクショナリ形式にし、append() で連想配列にする


icon 2018/04/10 [Debian]python3 環境構築
Debian の最新バージョンは python3 が Universe Repository に含まれている。
# aptitude update
# aptitude install python3

pip インストール


# aptitude install python3-pip

pyenv インストール


$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv
$ git clone https://github.com/yyuu/pyenv-pip-rehash.git ~/.pyenv/plugins/pyenv-pip-rehash

.bashrc に環境変数追加
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ source ~/.bashrc

pyenv 動作確認
$ pyenv
...
Some useful pyenv commands are:
commands List all available pyenv commands
local Set or show the local application-specific Python version
global Set or show the global Python version
shell Set or show the shell-specific Python version
install Install a Python version using python-build
uninstall Uninstall a specific Python version
rehash Rehash pyenv shims (run this after installing executables)
version Show the current Python version and its origin
versions List all Python versions available to pyenv
which Display the full path to an executable
whence List all Python versions that contain the given executable
...

Anaconda インストール


$ pyenv install anaconda3-5.1.0
Downloading Anaconda3-5.1.0-Linux-x86_64.sh...
-> https://repo.continuum.io/archive/Anaconda3-5.1.0-Linux-x86_64.sh
Installing Anaconda3-5.1.0-Linux-x86_64...
Installed Anaconda3-5.1.0-Linux-x86_64 to /home/yoo/.pyenv/versions/anaconda3-5.1.0

*デフォルト /tmp にインストールされるようなので容量には注意
ソースインストールの場合
Download Anaconda Distribution からダウンロードしてインストール
$ wget https://repo.continuum.io/archive/Anaconda3-5.1.0-Linux-x86_64.sh
For full documentation, see: https://github.com/pyenv/pyenv#readme
$sh Anaconda3-5.1.0-Linux-x86_64.sh

Anaconda 設定/アップデート


$ pyenv global anaconda3-5.1.0
$ pyenv versions
system
* anaconda3-5.1.0 (set by /home/yoo/.pyenv/version)
$ conda update conda
Solving environment: done
....
The following packages will be downloaded:
package | build
---------------------------|-----------------
conda-4.5.0 | py36_0 1.0 MB
The following packages will be UPDATED:
conda: 4.4.10-py36_0 --> 4.5.0-py36_0
Proceed ([y]/n)?
....
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

これで、python コマンドでも python3が利用できる。
$ python --version
Python 3.6.4 :: Anaconda, Inc.

Anaconda でライブラリインストール


pip でなく Anaconda でライブラリをインストールする
$ conda install matplotlib

icon 2017/07/08 OSX SieeraにChainerインストール

Chainerインストール


$ pip install chainer

chainer/chainerからサンプルをダウンロード

サンプルを動かす


機械学習のHello-World「train_mnist.py 」を動かしてみる。
*初回時は画像素材をダウンロード
*デフォルト設定だと20回学習
$ python3 train_mnist.py
GPU: -1
# unit: 1000
# Minibatch-size: 100
# epoch: 20

Downloading from http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz...
Downloading from http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz...
Downloading from http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz...
Downloading from http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz...
epoch main/loss validation/main/loss main/accuracy validation/main/accuracy elapsed_time
1 0.191203 0.107441 0.942 0.9668 20.6231
2 0.0746089 0.0724309 0.9769 0.9779 43.3326
3 0.0483745 0.0715516 0.9848 0.9798 66.719
4 0.0341754 0.0789327 0.988833 0.9795 89.0281
5 0.0292061 0.0925641 0.9908 0.9752 109.421
6 0.0256707 0.0715148 0.991683 0.9806 132.37
7 0.0188833 0.0750383 0.993767 0.9808 153.467
8 0.0178651 0.0916148 0.993967 0.9798 173.683
9 0.0190301 0.0876899 0.9941 0.9805 194.203
10 0.0147034 0.0869119 0.995183 0.9813 217.873
11 0.0140121 0.088435 0.995817 0.9802 242.648
12 0.0151053 0.0939939 0.99495 0.9823 268.818
13 0.0103742 0.0957632 0.996717 0.9829 292.792
14 0.00854318 0.0905123 0.997467 0.9821 317.834
15 0.00866289 0.118263 0.99745 0.9766 343.89
16 0.0151463 0.0986677 0.99545 0.9817 368.499
17 0.00866498 0.0853589 0.99735 0.9842 395.06
18 0.00716674 0.131718 0.997883 0.9776 421.821
19 0.00858464 0.111747 0.997567 0.9834 448.749
20 0.0127154 0.103087 0.996683 0.9814 474.769


OpenCV3インストール


運よくNVIDIA製のグラボを積んだマシンを持っていたらGPUモードで計算させられます。
(自分は持ってない・・・)
NVIDIAからCUDAダウンロード
$ brew tap homebrew/science
$ brew install opencv3 --with-contrib --with-python3 --without-python
$ vi .bashrc
export PATH=/Developer/NVIDIA/CUDA-8.0/bin:$PATH
export DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-7.5/lib:$DYLD_LIBRARY_PATH
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

OpenCV3ライブラリリンク


$ ln -s /usr/local/Cellar/opencv3/3.2.0/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so ~/.pyenv/versions/3.6.1/lib/python3.6/site-packages/
$ ln -s /usr/local/Cellar/opencv3/3.2.0/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so ~/.pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages/

OpenCV読み込みテスト


$ python
>>import cv2
>>

<< 最初 < 前ページ 次ページ > 最後 >>

このサイトについて

HTML5 & CSS3化しつつあるので、現在IEには対応してません。
できれば、Google Chromeやら Apple SafariのWebKit系をお勧めします。

DBからプログラムまで一応全て自作なので、バグってたらすいません。
実験でFlash版(Flex版)を先に作りましたが、ちょっと停止してます。

プロフィール

新宿近辺でSE & プログラマーしてます。
Webアプリの開発・設計とか、最近はiPhoneとか奮闘してます。
デザインはさっぱりです。

音楽は、昔からCubase打ち込み人間で、そっちの方が経歴は長いですが、最近はやる暇がないです。。。

今は、Gon's Privates ってバンドのキーボードやってます。
単発的に、なんちゃってジャズ系のライブもやってます。

名古屋生まれなのでドラゴンズ好きです。

Info && SNS

Gmail

 yohei.yoshikawa@gmail.com

Twitter

 http://twitter.com/yoo_yoo_yoo

あんまつぶやきませんが、一応技術系メインで使ってます。情報交換はこちらへ

FaceBook

 http://www.facebook.com/#!/profile.php?id=1439130626

海外の知り合いがいないので閑散としてます。

mixi

 http://mixi.jp/show_profile.pl?id=230072

音楽仲間とかはこっちメインでやってます。興味があればこちらへ