ディープラーニング目指して初心者は今日も行く。
初見じゃ何もわからない初心者です。
シグモイド関数?階段関数??なにこれ。
目で見たらわかりますね!
コード
シグモイド関数表示のコードは以下の通り。
numpyとmatplotlib.pylabのインストール必須です。
import numpy as np import matplotlib.pylab as plt def step_function(x): return np.array(x > 0, dtype=np.int) def sigmoid(x): return 1 / (1 + np.exp(-x)) def plot(functions): x = np.arange(-5.0, 5.0, 0.1) y = eval(functions)(x) plt.plot(x, y) plt.ylim(-0.1, 1.1) # y軸範囲の決定 plt.show() #plot('step_function') plot('sigmoid')
最後を以下のように変更すると階段関数が表示されます。
plot('step_function') #plot('sigmoid')
plot関数はeval()入れて簡単にしました。
同じこと書かなくていいので楽ちん。
引っかかった所
eval()入力のところで引っかかりました。
def plot(functions): 略 y = eval(functions)(x) 略 plot(step_function)
“TypeError: eval() arg 1 must be a string, bytes or code object”
あれ???ん????
plot()の引数がstr(文字)なのに”で囲ってませんでした!残念。
↓解決方法
plot('step_function')
なんてやつだ・・・初心者過ぎて・・・初歩的すぎる。
教科書はこれ(ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装)使ってます。初心者でもわかりやすい!でも1ページ読み飛ばしたらすぐ意味不明になります。マジで。
先にいちばんやさしいPythonの教本は読んでコード書いてます。Pythonの基礎の基礎が学べます。
続く。