pythonのimportの書き方
pythonでの外部ファイルの読み込みについてまとめます。オブジェクト指向の醍醐味ですね。
・同階層
同じディレクトリ内に
module.py
main.py
があるとき、main.py内で以下のように書けばmodule.pyを読み込むことができます。
import module
使うとき : module.関数名等
または
from module import 関数名等
使うとき : 関数名等
関数名等としているのはクラス名でもいいからです。深い意味はありません。
・モジュールが下の階層
上の例のmodule.pyが、main.pyと同じ階層にあるfileというディレクトリにある場合
import file.module
使うとき : file.module.関数名等
のように書きます。
file.moduleが長いなと思ったら以下のように書き換えます。
import file.module as name
使うとき : name.関数名等
同階層の場合のfromを使うことも可能です。
上の階層にある場合は次の機会に書きますね^ ^
ウラムの螺旋について
この図をウラムの螺旋と言います。
ウラムという数学者が退屈な会議中に、数字を書いて遊んでいたところ偶然発見されたそうです。
ウラムの螺旋の書き方
このように1を真ん中にして螺旋を描いていきます。そして、素数に色をつけると最初の画像のようになります。
明らかに直線ができており、規則性があるように見えます。不思議です。
実はウラムの螺旋に直線を引くと、その直線上の数は二次関数で表現できます。(個人的にはこの事実も同じくらい驚き)
そしてなんと、ウラムの螺旋にはオイラーの素数生成多項式が含まれています!めちゃくちゃ面白いですね^ ^
オイラーさんも、もしかしたらこうやって見つけたのかも....
暇つぶしもバカにできないですね笑
pythonのファイル出力いろいろ
pythonのファイル出力のやり方は一通りではありません。
今回は使いやすい2パターンのやり方についてまとめます。
パターン1 withを使う。
with open(‘ファイル名',’w’) as f:
f.write(‘書き込む文字列’)
この書き方では、wをrにすることでファイル入力も可能です。
パターン2 printの出力先をファイルにする。
print(‘書き込む文字列’,open=(‘ファイル名',’w’))
この書き方は、書き込み専用だと思われます。でも一行で書けていい感じですね!
意外と書こうと思ったら忘れてるのでまとめておきました^ ^
深層強化学習の勉強1
深層強化学習とは、深層学習と強化学習を組み合わせた機械学習法です。
深層学習は結構知られていて、ディープニューラルネットワークを使って学習していく学習手法ですね。
強化学習とは、以下のような図でエージェントと環境が状態、行動、報酬の三つの要素をやり取りすることで学習を進める機械学習法です。
エージェントはある状態に対して、何か行動を起こします。そして環境はその行動に見合った報酬をエージェントに与えます。
エージェントの目標は任意の状態に対して、報酬が最大化される行動を選択できるようになることです。
ただし、ある時刻で得られる報酬だけを最大化するのではなく、将来にわたって得られる報酬の総和を最大化することを考えます。