Numpyのrandom.choice()
はじめに
以下の本を進行中。4章に入って、後でも役に立ちそうな関数があったのでメモ。
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- 作者: 斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/09/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (18件) を見る
random.choice()
本の中で大量の訓練データの中から少数のデータをランダムに抽出して学習するミニバッチ学習が行われており、それで使うのがnumpy.random.choice()
numpy.random.choice — NumPy v1.15 Manual
ただ本の中だとreplace引数をFalseにしていないので、少ない確率でデータの重複が起こる可能性が残っている?
gist6e3645fdfde5fc430527ec0c5705ef8e
pパラメータとか
出現確率を制御できるみたいなので後で調べる。
勉強:ニューラルネットワーク:活性化関数
はじめに
下記の本を進めていく上で、メモとして。
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- 作者: 斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/09/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (18件) を見る
実装とグラフ出力
コードはこう。
gist1b625c7cd56ab79cd814d173deda40de
出力されるグラフ。
配列、リストをスペース(何かの文字列)区切りで出力する方法 in c#, python3
はじめに
よく問題を解いている paiza (競技プログラミング&就活サイト)で問題を解く際、配列やリストデータをスペース(または何某かの文字)区切りで出力することが多くあるので備忘録として書き残しておく。
C# や Pythonと複数の言語でやってみてどちらも Joinという名前の関数を使うと簡単だとわかり、以降、自分のググラビリティがあがったなあ、と思う。
C#
stringクラスのJoin関数で第一引数に区切り文字列、次に区切り対象の配列を当てればよい。
gist75b9b1467cd1e8b4d95173efe04e6b70
Python3
区切り文字列のjoinメソッドを呼び出して、引数に文字列のリスト(文字列でないとダメ)を当てる。数値のリストといった場合はmap関数でstr関数をマップするのが楽。
Unity chanアセットでサンプルのシーンを見る
Unity chanアセットのサンプルシーンを見るには
上記を参考にUnity chanアセットのScenesから3つのシーンを設定することでサンプルの確認ができました。
ちゃんとFile -> Build Settingsでシーン3つともScenes in Buildに登録しておくこと。(各サンプルシーンに別のシーンへの遷移があるので、登録しないまま動かしたらエラーを吐かれました。)
アクション、ポーズ、移動がそれぞれ見れるようになりました。
きっかけ
Unity chanのモデルだけ取り込んで移動の様子を見ていたところ、ジャンプ動作でアプリ停止になるとわかって、じゃあサンプルのシーンではどう処理しているのか見てみよう、というのがきっかけ。
(ただSendMessageじゃなくてメッセージシステムを使うのが普通のようですね。)
Unityで夕方を作ってみたかった
はじめに
比較対象としてデフォルト空間から。
夕方
ここを参考にアセットストアから WorldSkies Free というアセットを取得。Window -> Lighting -> SettingsからSkybox Materialsを取得したアセットの中のSky_matに設定する。
さらにDirectional Lightを(角度を変えて追加。デフォルトのライトは無効化する)追加して、ライトのカラーをskyboxとあった色に変更。(最初、影が発生しなかったので注意して見るとライトのShadow TypeがNo ShadowsだったのでSoft Shadowsに変更)
夕方(ライトは白色)
Skyboxの変更でも環境光に影響を与えるので、ライトを白に戻してみる。
影の縁には影響が出てますね。ユニティちゃんの肌や床は白いままなので、ライトの色の変更も同時に行うべきでしょうか。
追記
Skybox Series Freeというアセットを取得。Window -> Lighting -> SettingsのSkybox MaterialsにAmbienceExposureという空を設定。太陽が見えるようカメラ角度を変更した結果、こうなりました。
足元が浮いているように見えますね…
Unityについて書き始めてみる
まず実験するにもフィールドを作らければいけないと思ったんですが、よくある白黒チェックのフロアを作るにもどうするか悩むはめになり、とにかく某所からいただいたチェックの画像をテクスチャにplaneを配置して張り込む。(planeのスケールは[x:10,z:10])
タイリングが[x:1,y:1]のため、目いっぱいに広がっています。
なので、タイリングを20x20に変更してそれっぽくする。
とりあえず床はOK。