雑多な技術系メモ

自分用のメモ。内容は保証しません。よろしくお願いします。

【matplotlib】とりあえず3dデータをプロットするコード

出力したい画像

ソースコード

>>> import numpy as plt
>>> import matplotlib.pyplot as plt

>>> x1 = np.arange(-5,5,0.2)
>>> x1
array([-5.0000000e+00, -4.8000000e+00, -4.6000000e+00, -4.4000000e+00,
       -4.2000000e+00, -4.0000000e+00, -3.8000000e+00, -3.6000000e+00,
       -3.4000000e+00, -3.2000000e+00, -3.0000000e+00, -2.8000000e+00,
       -2.6000000e+00, -2.4000000e+00, -2.2000000e+00, -2.0000000e+00,
       -1.8000000e+00, -1.6000000e+00, -1.4000000e+00, -1.2000000e+00,
       -1.0000000e+00, -8.0000000e-01, -6.0000000e-01, -4.0000000e-01,
       -2.0000000e-01,  4.4408921e-15,  2.0000000e-01,  4.0000000e-01,
        6.0000000e-01,  8.0000000e-01,  1.0000000e+00,  1.2000000e+00,
        1.4000000e+00,  1.6000000e+00,  1.8000000e+00,  2.0000000e+00,
        2.2000000e+00,  2.4000000e+00,  2.6000000e+00,  2.8000000e+00,
        3.0000000e+00,  3.2000000e+00,  3.4000000e+00,  3.6000000e+00,
        3.8000000e+00,  4.0000000e+00,  4.2000000e+00,  4.4000000e+00,
        4.6000000e+00,  4.8000000e+00])

>>> x2 = np.arange(-5,5,0.2)
>>> y = x1*0.2 + x2*0.5
>>> y
array([-3.50000000e+00, -3.36000000e+00, -3.22000000e+00, -3.08000000e+00,
       -2.94000000e+00, -2.80000000e+00, -2.66000000e+00, -2.52000000e+00,
       -2.38000000e+00, -2.24000000e+00, -2.10000000e+00, -1.96000000e+00,
       -1.82000000e+00, -1.68000000e+00, -1.54000000e+00, -1.40000000e+00,
       -1.26000000e+00, -1.12000000e+00, -9.80000000e-01, -8.40000000e-01,
       -7.00000000e-01, -5.60000000e-01, -4.20000000e-01, -2.80000000e-01,
       -1.40000000e-01,  3.10862447e-15,  1.40000000e-01,  2.80000000e-01,
        4.20000000e-01,  5.60000000e-01,  7.00000000e-01,  8.40000000e-01,
        9.80000000e-01,  1.12000000e+00,  1.26000000e+00,  1.40000000e+00,
        1.54000000e+00,  1.68000000e+00,  1.82000000e+00,  1.96000000e+00,
        2.10000000e+00,  2.24000000e+00,  2.38000000e+00,  2.52000000e+00,
        2.66000000e+00,  2.80000000e+00,  2.94000000e+00,  3.08000000e+00,
        3.22000000e+00,  3.36000000e+00])

>>> plt.figure(figsize=(6,5))
>>> from mpl_toolkits.mplot3d import axes3d, Axes3D
>>> ax = plt.subplot(1,1,1,projection="3d")
>>> ax.scatter(x1, x2, y)
<mpl_toolkits.mplot3d.art3d.Path3DCollection at 0x7fd8dba73b38>

Neuralinkとは

Neuralinkとは

NeuralinkはElon Muskらが2016年に興した企業です。
この企業では、brain-machine interfaces(BMIs)の開発を目指しています。

このBMIsは脳と何かしら機器(コンピュータ等)を直接接続させるシステムのことを言います。

何を目指している会社なのか?

短期的には、脳疾患の治療に用いるためのデバイスを制作することを目指しているようです。

長期的には、人間を強化するためのデバイスを作成することを目的としているようです。 人類がAIと対抗するために、人間と直接なんらかのデバイスを接続し、人間の能力の強化を行えるようにすることを目指しています。

専門用語メモ

  • プロープ:接続端子

参考文献

https://en.wikipedia.org/wiki/Neuralink

【自然言語処理,python】MeCabについてのメモ

とりあえず動かす

>>> import MeCab
>>> tagger = MeCab.Tagger()
>>> result = tagger.parse("公園で夕日を見た")
>>> print(result)
公園  名詞,一般,*,*,*,*,公園,コウエン,コーエン
で 助詞,格助詞,一般,*,*,*,で,デ,デ
夕日  名詞,一般,*,*,*,*,夕日,ユウヒ,ユーヒ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
見 動詞,自立,*,*,一段,連用形,見る,ミ,ミ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
EOS

kerasの基本操作

誤差関数を自分用にカスタマイズ

掛け算など

keras.io

学習モデルの保存と読み込み

保存

モデル自体の保存とパラメータの保存

model.save("test_model.h5")
model.save_weights("test_weights.h5")

読み込み

モデルの読み込み

from keras.models import load_model

model = load_model("test_model.h5")
model.load_weights("test_weights.h5")

simple rnn

alice_chargen_rnn.pyについてのメモ

print("Vectorizing input and label text...")
X = np.zeros((len(input_chars), SEQLEN, nb_chars), dtype=np.bool)
y = np.zeros((len(input_chars), nb_chars), dtype=np.bool)
for i, input_char in enumerate(input_chars):
    for j, ch in enumerate(input_char):
        X[i, j, char2index[ch]] = 1
    y[i, char2index[label_chars[i]]] = 1

このプログラムでは、
各センテンス読み込み学習して、出力する。

LSTM

PAD:パディング用
UNK:辞書にない文字

(None, MAX_SENTENCE, 1) (バッチサイズ、センテンスの長さ、文字のインデックス)

用語

1epoch

訓練データをすべて学習

batch__size

訓練データの勾配を計算するバッチサイズ

chromeのアップデート方法(Linux)

以下のコマンドでアップデートできる

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'

sudo apt-get update
sudo apt-get install google-chrome-stable