Visual Studio 2017でC++のHello Worldがなぜかできない
docs.microsoft.com
最初に公式に従ってやろうとするも,
C1083 include ファイルを開けません。'iostream.h':No such file or directory
と言われる.このHDDは累計10年近く使ってるので,過去の俺がインクルードディレクトリやらライブラリディレクトリを弄っておかしくしたんだと思う.
いろいろ調べて プロパティ > VC++ディレクトリ > インクルード ディレクトリ
に
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\ucrt C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\um C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\shared C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\winrt
プロパティ > VC++ディレクトリ > ライブラリ ディレクトリ
に
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\lib\x64 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\atlmfc\lib\x64
を追加したら成功した.おそらく無駄なものが混ざってる気もするので,荒治療ですが.
VirtualBoxで仮想ディスクのサイズを変えたのに容量が大きくならない!!
現実でも新しくHDD導入したらパーティションの操作やりますもんね…そりゃそうだ
まとめると
- VBoxManageにより仮想ディスクのサイズを変更
- GPartedによりパーティション操作,未割当領域を設定
これだけのことだった
参考にしたURLは
仮想ディスク(VDI)のサイズ変更 | VirtualBoxの使い方
VirtualBox環境でのUbuntuのHDD容量変更方法 - Qiita
リンク切れが怖いので,手順だけ書いておく
VBoxManageにより仮想ディスクのサイズを変更
/path/to/VBoxManage.exe modifyhd [対象とするvdi] --resize [変更したいサイズ(MB)]
pandasで何かするときメモ
pandasのdataframe操作を毎回忘れるので随時適当にメモしていく.
自分のためだけなので記事ですら無い.
フィルタリング
df[df['col'] > val]
左結合
import pandas as pd m_df = pd.merge(df1, df2, how='left')
既存列から新たな列追加
df['new_col'] = df['col1'] + df['col2']
これでnew_col列がdfに追加されている
四分位取得
q1 = df['col'].describe()['25%'] q3 = df['col'].describe()['75%']
散布図行列
from pandas.tools.plotting import scatter_matrix scatter_matrix(df)
OpenAI Gymで一定間隔のエピソードごとに動画を保存する方法
gym環境で動画を保存する際には以下のようにすれば,一応指定したフォルダに動画を保存することができる.
参考:
discuss.openai.com
import gym from gym import wrappers env = gym.make(‘CartPole-v0’) env = wrappers.Monitor(env, ‘/path/to/movie_folder’)
このようにすれば,メソッドを呼ばなくても勝手にある間隔で動画が保存される.
しかし,エピソード数が0,1,8,27,64,125,216,343…となぜかごとに保存されている.
なぜ?
よく分からずGitHubのコードを眺めていると原因が判明した.
github.com
デフォルトで指定されているvideo_callableはcapped_cubic_video_scheduleという内部で用意されている関数が指定されている.これが上述のエピソードごとに動画を保存するよう決定していた.
そこで,引数でvideo_callableを自分が確認したいエピソードごとに指定するようにしてやればいい.
以下は100エピソードごと動画を保存するにしたパターン.
import gym from gym import wrappers env = gym.make(‘CartPole-v0’) env = wrappers.Monitor(env, ‘/path/to/movie_folder’, video_callable=(lambda ep: ep % 100 == 0))
これにより保存間隔を変更することができた.
シストレ構築で役立つ(かもしれない)様々な"レシオ" & 同人誌電子版販売のお知らせ
シストレで戦略を評価する際,様々な指標がある.日本ではプロフィットファクター(PF)が検索するとよく引っかかるが,他にはどのようなのがあるのだろうと調べてたら色々あったのでまとめた.
適当に読んで適当に解釈しているのであまりあてにしないで.
主に英語版Wikipedia(https://en.wikipedia.org/wiki/Category:Financial_ratios)から抜粋.
それにしても,日本語版はせいぜいシャープレシオだけですが,色々あるんですねえ...
Calmar ratio
Sterling ratioを修正したもので,平均リターンを山から谷までの最大ドローダウンで割った値.直近36ヶ月で計算し,月次ベースにしたもの.
Omega ratio
次式で定義される.閾値のリターンを越える割合的な考えか.は閾値となるリターン,はリターンの累積分布関数.
ならば,平均リターンがとなることを意味する.
具体的な計算はこちらがわかりやすい
investexcel.net
Upside potential ratio
次式で定義される.
なんかよく分からないんですけど,具体的な計算方法はこちら?
investexcel.net
シャープレシオでは,すべての変動がリスクとして判断されてしまうが,上ブレの変動はむしろ好ましくリスクとして判断すべきではない.そこで,このシャープレシオの欠点を修復するためにUpside potential ratioやSortino ratioはリターンがマイナスな場合のみの変動を計算している.
同人誌電子版販売のお知らせ
進化計算と機械学習の本1を書きました.自分は,進化計算の1つである遺伝的プログラミングでFXに挑戦するという章を担当しています.お求めはこちらから.
rosenblock.booth.pm
bibtex導入 ハマったこと
卒論で参考文献をまとめる際にbibtexを導入するもちょっとハマったのでメモ.環境はUbuntu14.04
.bibファイルを用意する
論文のサイトなどにExportなんたらという所にだいたいbibTexが表示/ダウンロードできるところがあるのでそこから取得して.bibファイルに書き込む.(画像はACM Digital Library)
.bibファイルに複数の文献を書き込める.
コンパイルを行う
jbibtexをplatexで挟んでplatexを複数やる必要がある.自分は面倒なので.shにしている.過去記事で作ったシェルを拡張した.
oden-dengaku.hatenablog.jp
#!/bin/sh ret=${1%.*} if test $ret != "";then platex ${ret} jbibtex ${ret} platex ${ret} platex ${ret} dvipdfmx $ret evince ${ret}.pdf else echo "ファイルを入力してください" fi
これでOKと思ったら…?
何故か表示されない.どうやらbibファイルを置く場所を教えてあげないといけないらしい..bashrc
に以下を追加.
export BSTINPUTS=$BSTINPUTS:/your/bib/folder//
最後に//とやると全ファイルを探索してくれるらしい?
OpenAI Gymをubuntuにインストールした時発生したエラーの対処法メモ
OpenAI Gymをここに従ってインストールしている際,
pip install -e .
で
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe2 in position 72: ordinal not in range(128)
のエラーが発生.調べると以下のサイトがヒット
www.elecafe.info
stackoverflow.com
$ sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
を実行したら正常にインストールされるようになった.
.bashrc
への追加をすると文字コードがめちゃくちゃになるので取り外した.