日々、勉強。

自宅の開発でトラブルになったことの解決策をメモっていきます。

Deep Learning

Deep Learningの理解を深めるために、理解したところから記事にまとめていく。

ただし、バラバラに書くので、as-is的な内容です。

 

 

活性化関数とは?

入力信号の総和を出力信号に変換する関数。

これでは、意味がわからないので、更に考えていく

要は、閾値を持って、数値を一定以上の時に「真」となるようになれば良い。

ニューラルネットワークは、人間の脳なわけだから、ちょっと考え方を変えて、人間の脳から考えてみる。

 例えば、人間の脳が何かをすると「痛い」と言うことを学んだとする。

何をしたら痛いかを経験を積んでいくと、相関関係から「転ぶ」と「痛い」と学ぶ。

この「転ぶ」「痛い」の相関関係が一定以上になった時点で、結論を明確化しシナプスのを「真」にするイメージだろうか。

 

活性化関数は、様々な種類があるが、どれも共通するのは、ある一定以上の閾値から値を真に近づけることだ。

活性化関数の種類

 

 

GitHub PagesでSphinxにCSSが適用されない!!

GitHub PagesでCSSなどのResourceファイルが適用できなくて苦戦したので、メモを残します。

 

GitHub PagesでCSSなどのResourceファイルが適用できなかった原因として、大きく以下の二つありました。

 

  1. CSSのファイルパスがサーバとローカルで異なる
  2.  _staticフォルダをGitHub Pagesが解釈してくれない

 

CSSのファイルパスがサーバとローカルで異なる

  • 原因

GitHub Pagesにアップロードした時点で、サーバーとローカルではcssへのファイルパスを変更する必要があります。

例えば、ローカル上のindex.htmlで以下のようにcssのファイルパスを指定し、ブラウザで開くと、一見、index.htmlに_static/asabaster.cssが適用されているように見えます。

<link rel="stylesheet" href="_static/alabaster.css" type="text/css" />

 

しかし、これをこのままGithub Pagesにアップロードすると適用されません。

Githube Pages上では、ファイルパスがローカルとは異なるるため以下のように指定する必要があります。

 

<link rel="stylesheet" href="https://username.github.io/project_name/_static/alabaster.css" type="text/css" />

 

全てのファイルでパスを変換するのは、結構骨が折れます。

正規表現で一括置換する手もありますが、あまり筋が良いとは言えません。

 

  • 解決策

index.htmlのheaderの先頭に以下のbaseタグを追加してください。

<head>
 <base href="{{site.github.url}}" charset="utf-8"/>

 ...

</head>

baseでsite.github.urlと指定しておくことで、他のファイルパスの基本として、https://username.github.io/project_name/をファイルパス内に展開してくれます。

 

 

_staticフォルダをGitHub Pagesが解釈してくれない

  • 原因 

GitHi Pagesは、デフォルトでJekyIIでホスティングを行います。しかし、このJekyIIは、Sphinxに対応していないため、_staticなどにあるパスを正確に読み取ってくれません。

 

  • 解決策

GithHubPagesを公開しているフォルダ直下に、.nojekyIIという空ファイルを置いて、pushしてください。

 

.nojekyIIファイルは、「これはjekyIIファイルじゃないよ!」と宣言するためのファイルです。

venvの名称を変更したい。

pythonでvenvの名称を変更したい場合がある。

その際には、venvのファイル内の名称をすべて変更する必要がある。

 

自分の場合は、myenvと作成してしまったので、その名称を変更したかった。

 

venvを作成したフォルダまで行き、下記のコマンドを実行すると全て変更できる。

 

>>> grep -rl "myenv" ./ | xargs perl -i -pe "s/myenv/changed-env/g"

 

要は、指定フォルダ以下のmyenvという単語を全て新しい名称に置換しただけ。

 

以外に、使うことがあると思う。

Did you change the syntax from 2.x to 3.x? : Sphinx

Configuration error:
There is a syntax error in your configuration file: bad input (conf.py, line 15)
Did you change the syntax from 2.x to 3.x?
(hl-ml-env) saegusahirokazunoiMac:Hello-World-ML saigusahirokazu$ sphinx-build -a ./docs ./publish
Running Sphinx v1.7.5

 

Sphinx を実行した時に、このErrorが出て大分苦戦したので、メモを残す。

実際に行ったのは、conf.pyの下記の部分のコメントを外しただけだったにも関わらずErrorgがでた。

 

File : conf.py

-- Path setup --------------------------------------------------------------

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#

 import os   # ← コメントを外したところ
 import sys  # ← コメントを外したところ
 sys.path.insert(0, '/Users/guest/Documents/Workspace/git/my_project/src') # パスの書き換え

 

結論から言うと、import osの前に、空欄が入っていたのがErrorになっていたらしい。

よって、以下のように直す。

 

File : conf.py

-- Path setup --------------------------------------------------------------

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#

import os   # ← import osの前の空欄を削除
import sys  # ← import sysの前の空欄を削除
sys.path.insert(0, '/Users/guest/Documents/Workspace/git/my_project/src') # sys.path.insertの前の空欄を削除

 

自分の場合は、これだけで上手く行った。

 

 

怒り(映画)ネタバレ注意

映画、「怒り」を見ました。

人によって感想は異なるでしょうが、私としては最後まで楽しめたけれど、少しポカンとしてしまった映画でした。

 

最初に殺人現場のシーンが流れ、「殺人事件の犯人は誰か?」というテーマ

が視聴者に与えられます。

 

それに対し、3つのストーリーが並行して進みます。

それぞれのストーリーに犯人らしき人物がおり、個々のストーリーを見ながら、どれが犯人かを推測する物語です。

 

3つのストーリーは、「千葉編」「東京編」「沖縄編」と場所で分かれており、関連性がありません。

 

全く関連性がない故に、最後にどれが犯人かが分かってしまうと、残りの2つのストーリーに対し、一体なんだったんだ?という疑問が心に残ります。

 

ネタバレ注意と書いておいたので、述べてしまいますが、犯人は沖縄編の人でした。

 

プレゼン資料的に考えると、以下の構成になります。

 

課題:「殺人事件の犯人は誰か?」

結論:「沖縄編の人が犯人」

根拠:「沖縄編のストーリー参照」

 

つまり、論理的に構成すると、「千葉編」と「東京編」の存在意義が見えなくなります。どれが犯人か当てるクイズ的なところがあるので、全く存在意義がないとは言いませんが、やはり多少なりともストーリーの関連性が欲しかったところです。

 

容疑者Xの献身」とか「古畑任三郎」とか結論ありきの推理ものを見慣れていると、終わった後に、少しポカンとしてしまう映画でした。

鎌倉ものがたり(映画)

鎌倉ものがたり

この映画は、心をうつものがあります。

冒頭から正和と亜希子の仲が何とも心地よさを感じさせます。

 

ゆったりとした時間の中に夫婦で新しい生活を築いて行く姿が何とも微笑ましい。

夫、正和の鉄道オタクの趣味と、それを嗜める亜希子の関係。

 

貧乏神すら家に引き止めてもてなす亜希子のお人好しすぎる行動を嗜める正和の行動。

皆で支え合い、ゆったりとした時の流れの中に、日々が平和に過ぎて行く。

普段気づかない幸せが、そこに存在している。

 

後半の物語が動き出したあたりで、亜希子が黄泉の世界へ行くことを決めた時に、「亜希子なしで長生きしたからってなんだって言うんだ。」「幽霊でも亜希子は、亜希子だ。」と言う正和の台詞。

 

あぁ、そうだよね。

本当に大切なのは、大切な人との幸せな日々が続いて行くことだよね。

 

時代の変化が激しく、今や人工知能VRなんて昔は漫画の世界にしか存在しなかったものが存在するほどの進歩を遂げた現代ですが、昔に大切なものを忘れてきてしまった気がします。

 

多くの人とネットで希薄な関係を築く現代に、また、少なくても濃い人間関係の築けるローカルな世界が訪れて欲しい。

 

そんな気を起こさせる素敵な話でした。