Theanoを追加してみる
■環境
Windows 7 Ultimate Service Pack1 (64bit)
+ Python 2.7.9 (32bit)
■インストール
これだけで、インストールはあっさり出来てしまう
>python -m pip install theano
インストール後、importを試してみると
>>> import theano
→エラーが。。。メッセージを見ると、g++が無いと言われている
そこで、MinGWをインストールし、以下の項目にチェックを入れて追加
・mingw32-base (必要かどうか分からなかったのでとりあえず...)
・mingw32-gcc-g++
MinGWインストール先のbin以下に「g++.exe」が存在している事を確認して、この場所を環境変数の「PATH」に追加する
-----
ここまでの作業後に再度importで確認
>>> import theano
>>>
→無事、使えるようになったらしい
■簡単に試してみる
>>> import theano
>>> import theano.tensor as T
>>>
>>> x = T.dscalar('x')
>>> y = x**2+3
>>> gy = T.grad(cost=y, wrt=x) # 微分
>>>
>>> f1 = theano.function(inputs=[x], outputs=y)
>>> f2 = theano.function(inputs=[x], outputs=gy)
>>>
>>> print f1(3), f2(3)
12.0 6.0
期待通りの計算結果が表示される
12.0 「x**2+3」のxに3を代入した結果
6.0 「2*x」(x**2+3の微分)に3を代入した結果
簡単な記述で、式を解析して微分を解けてしまう事に驚いてしまった!
2015年8月31日月曜日
Python CPythonのインストールとモジュール追加
IronPythonでnumpy、scipy等のライブラリ追加をしようと手を動かしてみたのだけど、どうにも上手く進める事が出来なくて、追加でCPythonをインストールする事に。
■CPython
インストールは何てことない。msi(インストーラー)があるので、これを実行するだけ
インストールしたのは、以下のもの
「python-2.7.9.msi」
■モジュールの追加
・numpy
インストーラーが存在しているのですんなり
「numpy-1.9.2-win32-superpack-python2.7.exe」
・scipy
インストーラーが存在しているのですんなり
「scipy-0.16.0-win32-superpack-python2.7.exe」
-----
ここまでで、当初の目的は果たしたものの他にも追加をすすめる
・matplotlib
インストーラーが存在しているのですんなり
「matplotlib-1.4.3.win32-py2.7.exe」
・dateutil
pipで見つからないと怒られて、ダウンロードして手動で追加
「python-dateutil-1.5.tar.gz」
・wxPython
インストーラーが存在しているのですんなり
「wxPython3.0-win32-3.0.2.0-py27.exe」
・six
pipでインストール
「python -m pip install six」
-----
失敗により保留
・pyaudio
インストーラーが落ちてしまう・・・
「pyaudio-0.2.8.py27.exe」
なんだか、すでに混沌の予感。。
■CPython
インストールは何てことない。msi(インストーラー)があるので、これを実行するだけ
インストールしたのは、以下のもの
「python-2.7.9.msi」
■モジュールの追加
・numpy
インストーラーが存在しているのですんなり
「numpy-1.9.2-win32-superpack-python2.7.exe」
・scipy
インストーラーが存在しているのですんなり
「scipy-0.16.0-win32-superpack-python2.7.exe」
-----
ここまでで、当初の目的は果たしたものの他にも追加をすすめる
・matplotlib
インストーラーが存在しているのですんなり
「matplotlib-1.4.3.win32-py2.7.exe」
・dateutil
pipで見つからないと怒られて、ダウンロードして手動で追加
「python-dateutil-1.5.tar.gz」
・wxPython
インストーラーが存在しているのですんなり
「wxPython3.0-win32-3.0.2.0-py27.exe」
・six
pipでインストール
「python -m pip install six」
-----
失敗により保留
・pyaudio
インストーラーが落ちてしまう・・・
「pyaudio-0.2.8.py27.exe」
なんだか、すでに混沌の予感。。
2015年8月28日金曜日
Python Pipのインストール
IronPythonをインストールしたのは良いものの、ライブラリのインストールでかなり戸惑いました。
とりあえず、Pipのインストールが以下の流れできた様子
■環境
Windows 7 Ultimate Service Pack 1 (64bit)
+ IronPython 2.7.5
■インストール手順
(1)コマンドプロンプトを管理者権限で実行
(2)IronPythonのインストール先(ipy.exeが存在する場所)へ移動し、以下を入力
PROMPT>ipy -X:Frames -m ensurepip
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking setuptools
C:\Program Files (x86)\IronPython 2.7\Lib\weakref.py:1: DeprecationWarning: object.__init__() takes no parameters for type KeyedRef
"""Weak reference support for Python.
Downloading/unpacking pip
Installing collected packages: setuptools, pip
Successfully installed setuptools pip
Cleaning up...
書いてしまえばこれだけなんですが、、、
正直、辿り着くまでに費やした時間が。
2015年8月27日木曜日
Python 少しだけ実用的な所に触れてく(2)
■関数、ファイルサイズ取得
ファイルサイズを表示する関数を書いてみる>>> import os
>>> import glob
>>>
>>> # 関数
>>> def GetFileSize(target_file):
... fsize = os.path.getsize(target_file)
... print target_file, "=", fsize
...
>>>
>>> # 対象の指定
>>> target = r'd:\tmp\*.*'
>>>
>>> # 対象についてファイルサイズを表示(関数呼び出し)
>>> for file in glob.glob(target):
... GetFileSize(file)
...
→「ファイル名 = ファイルサイズ」の形で列挙されます
Python 少しだけ実用的な所に触れてく
■ファイルの一覧
指定したディレクトリのファイル一覧を表示
>>> import os
>>>
>>> # ディレクトリの指定
>>> path = r'd:\tmp'
>>>
>>> # ファイルの列挙
>>> for file in os.listdir(path):
... print file
....
→これで指定ディレクトリ(d:\tmp)のファイル一覧が得られます
■ファイル書き込み(テキスト)
単純なテキストファイルの処理
>>> # 対象のファイル
>>> target_file = r'd:\tmp\test.txt'
>>>
>>> # ファイルオープン
>>> f = open(target_file, 'w')
>>>
>>> # ファイルへ書き込み
>>> f.write("aaa")
>>>
>>> # ファイルクローズ
>>> f.close()
>>>
→aaaが記述された指定ファイル(d:\tmp\test.txt)が作成されます。
既に存在する場合は上書き
■ファイル読み込み(テキスト)
単純なテキストファイルの処理
>>> # 対象のファイル
>>> target_file = r'd:\tmp\test.txt'
>>>
>>> # ファイルオープン
>>> f = open(target_file, 'r')
>>>
>>> # ファイルの読み込み、クローズ
>>> lines = f.readlines()
>>> f.close()
>>>
>>> # ファイルの内容を表示
>>> for line in lines:
... print line
...
aaa
→テキストファイルの内容(aaa)が表示されます
指定したディレクトリのファイル一覧を表示
>>> import os
>>>
>>> # ディレクトリの指定
>>> path = r'd:\tmp'
>>>
>>> # ファイルの列挙
>>> for file in os.listdir(path):
... print file
....
→これで指定ディレクトリ(d:\tmp)のファイル一覧が得られます
■ファイル書き込み(テキスト)
単純なテキストファイルの処理
>>> # 対象のファイル
>>> target_file = r'd:\tmp\test.txt'
>>>
>>> # ファイルオープン
>>> f = open(target_file, 'w')
>>>
>>> # ファイルへ書き込み
>>> f.write("aaa")
>>>
>>> # ファイルクローズ
>>> f.close()
>>>
→aaaが記述された指定ファイル(d:\tmp\test.txt)が作成されます。
既に存在する場合は上書き
■ファイル読み込み(テキスト)
単純なテキストファイルの処理
>>> # 対象のファイル
>>> target_file = r'd:\tmp\test.txt'
>>>
>>> # ファイルオープン
>>> f = open(target_file, 'r')
>>>
>>> # ファイルの読み込み、クローズ
>>> lines = f.readlines()
>>> f.close()
>>>
>>> # ファイルの内容を表示
>>> for line in lines:
... print line
...
aaa
→テキストファイルの内容(aaa)が表示されます
Pythonに触れてみる(3)
Pythonに触り始めて2日目。
基本的な触り方を続けて見ていきます。
■真/偽(bool)を使う
単純に変数に入れてprint
>>> value1 = True
>>> print value1
True
>>> print int(value1)
1
→そのままprintだとTrueの出力がされてます。
-----
Trueと1の比較
>>> value1 = True
>>> if value1 == 1:
... print "True"
... else:
... print "False"
...
True
→比較の結果、等価とみなされています。
■変数へ値を入れる
今さらですが、なじみの無い書き方ができるようなので
>>> a, b = 1, 2
>>> print a
1
>>> print b
2
-----
異なる型でも同じように
>>> c, d = 10, 'aaa'
>>> print c
10
>>> print d
aaa
→こんな書き方ができるんですね。実際には複数行に分けて書きそうなので、出番はないかも・・・
■繰り返し(for文)
何も考えず
>>> for x in (1, 2, 3):
... print x
...
1
2
3
-----
forブロックの後ろでxを確認してみると
>>> print x
3
→xは存在していて、最後の値である3が出力されてました。
-----
for文にelse??
>>> for x in (1, 2, 3):
... print x
... else:
... print "終わり"
...
1
2
3
終わり
→繰り返しの終わり(繰り返し条件を満たさなくなった)ところで実行されてます。
-----
次へ(continue)
>>> for x in (1, 2, 3)
... continue
... print x
... else:
... print "終わり"
...
終わり
→乱暴ですが。。。print前に次の要素へ進めて、最後にelseの"終わり"が出力されてます。
-----
中断(break)
>>> for x in (1, 2, 3):
... break
... print x
... else:
... print "終わり"
...
→中断をした場合は、else部分の処理もされてません。
繰り返しでelseが使えるのは面白いかも知れませんね |
2015年8月26日水曜日
Python モジュールを追加
何ができるか、まだまだ理解が出来ていませんが
試しにモジュールを追加してみる。
対象 : jinja2-2.8
■環境
Windows 7 Ultimate (64bit)
+ IronPython 2.7.5
■追加手順
(1)jinja2を入手
→jinja2-2.8.tar.gz (2015/08/26時点の最新)
(2)解凍した中の「jinja2」フォルダをIronPythonインストール先の「Lib\site-packages」以下へコピー
(3)テキストファイル「jinja2.pth」を作成し、テキスト「jinja2」(フォルダ名)を記述
(4)上で作成したテキストファイルを「Lib\site-packages」へ配置
-----
ここで、IronPython Consoleを起動して確認してみると・・・
>>> import jinja2
Traceback (most recent call last):
(省略)
ImportError: No module named markupsafe
→markupsageが無いと怒られる。
-----
(5)markupsafeを入手
→Markupsafe-0.23.tar.gz(2015/08/26時点の最新)
(6)解凍した中の「markupsafe」フォルダを同様に「Lib\site-packages」以下へコピー
(7)テキストファイル「markupsafe.pth」を作成し、テキスト「markupsafe」を記述
(8)上で作成したテキストファイルを「Lib\site-packages」へ配置
■確認
>>> import jinja2
>>>
→エラーが表示されなくなる
試しにモジュールを追加してみる。
対象 : jinja2-2.8
■環境
Windows 7 Ultimate (64bit)
+ IronPython 2.7.5
■追加手順
(1)jinja2を入手
→jinja2-2.8.tar.gz (2015/08/26時点の最新)
(2)解凍した中の「jinja2」フォルダをIronPythonインストール先の「Lib\site-packages」以下へコピー
(3)テキストファイル「jinja2.pth」を作成し、テキスト「jinja2」(フォルダ名)を記述
(4)上で作成したテキストファイルを「Lib\site-packages」へ配置
-----
ここで、IronPython Consoleを起動して確認してみると・・・
>>> import jinja2
Traceback (most recent call last):
(省略)
ImportError: No module named markupsafe
→markupsageが無いと怒られる。
-----
(5)markupsafeを入手
→Markupsafe-0.23.tar.gz(2015/08/26時点の最新)
(6)解凍した中の「markupsafe」フォルダを同様に「Lib\site-packages」以下へコピー
(7)テキストファイル「markupsafe.pth」を作成し、テキスト「markupsafe」を記述
(8)上で作成したテキストファイルを「Lib\site-packages」へ配置
■確認
>>> import jinja2
>>>
→エラーが表示されなくなる
登録:
投稿 (Atom)