神經(jīng)網(wǎng)絡(luò)02

softmax 函數(shù)

import numpy as np
def sigmoid(x):
    return 1/(1 + np.exp(-x))

def identity_function(x):
    return x


def softmax(a):
    
    c = np.max(a) # 為了方式溢出晶衷,取信號的最大值
    
    exp_a = np.exp(a-c)
    sum_exp_a = np.sum(exp_a)
    y = exp_a /sum_exp_a
    
    return y

a = np.array([1,2,3,4,5])

print(softmax(a)) # [0.01165623 0.03168492 0.08612854 0.23412166 0.63640865]

顯示圖像

import sys, os

print(os.getcwd())
sys.path.append(os.getcwd())

from mnist import load_mnist
import numpy as np

(x_train, t_train), (x_test, t_test) = load_mnist(flatten=True, normalize=False)

print(x_train.shape) # (60000, 784)
print(t_train.shape) # (60000,)
print(x_test.shape) # (10000, 784)
print(t_test.shape) # (10000,) 


from PIL import Image

def img_show(img):
    pil_img = Image.fromarray(np.uint8(img))
    pil_img.show()

img = x_train[0]
label = t_train[0]
print(label) # 5


print(img.shape) # (784,)

img = img.reshape(28,28)

print(img.shape) # (28, 28)

img_show(img) # 圖像顯示就是5 

神經(jīng)網(wǎng)絡(luò)推理處理

import sys, os

print(os.getcwd())
sys.path.append(os.getcwd())

from mnist import load_mnist
import numpy as np

(x_train, t_train), (x_test, t_test) = load_mnist(flatten=True, normalize=False)

# t_train  一維數(shù)組 [5 0 4 ... 5 6 8]    長度:60000
# t_test  一維數(shù)組 [7 2 1 ... 4 5 6]     

# x_train  二維數(shù)組 維度值: (60000, 784) 60000行吗跋, 784 列
# print(x_train[59999]) 第60000行的值
# x_test  二維數(shù)組 維度值: (10000, 784)

train_size = x_train.shape[0]  # (60000, 784) 的第一個元素 60000
batch_size = 10;

# 
batch_mask = np.random.choice(train_size, batch_size)

print(batch_mask)  # [28259  6378 19047  4077 55177 24777 25800 17717  7067 32450]


def get_data():
    (x_train, t_train), (x_test, t_test) = load_mnist(flatten=True, normalize=False)
    return x_test, t_test


import pickle 

def init_network():
    with open("sample_weight.pkl", "rb") as f:
        network = pickle.load(f)
        
    return network


def sigmoid(x):
    return 1/(1 + np.exp(-x))

def identity_function(x):
    return x

def softmax(a):
    c = np.max(a) # 為了方式溢出偏灿,取信號的最大值
    exp_a = np.exp(a-c)
    sum_exp_a = np.sum(exp_a)
    y = exp_a /sum_exp_a
    return y    

def predict(network, X):
    W1, W2, W3 = network['W1'], network['W2'], network['W3']
    b1, b2, b3 = network['b1'], network['b2'], network['b3']
    A1 = np.dot(X, W1) + b1
    Z1 = sigmoid(A1)
    A2 = np.dot(Z1, W2) + b2
    Z2 = sigmoid(A2)
    A3 = np.dot(Z2, W3) + b3
    Y = softmax(A3)
    return Y

x, t = get_data()
network = init_network()
accuracy_cnt = 0

for i in range(len(x)):
    y = predict(network, x[i])
    p = np.argmax(y) # 獲取概率最高的元素的索引
    if p == t[i]:
        accuracy_cnt += 1

print(accuracy_cnt)   # 9207 
print (len(x)) # 10000
print("accuracy:" + str(float(accuracy_cnt) / len(x)))# accuracy:0.9207 
# 批處理 -- 替換上面最后那一部分代碼
x, t = get_data()
network = init_network()
accuracy_cnt = 0
batch_size = 100

for i in range(0, len(x), batch_size):
    x_batch = x[i: i+batch_size]
    y_batch =  predict(network, x_batch)    
    p = np.argmax(y_batch, axis=1) # 獲取概率最高的元素的索引
    accuracy_cnt += np.sum(p == t[i: i+batch_size])
    
print("accuracy:" + str(float(accuracy_cnt) / len(x)))# accuracy:0.9207 
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锭环,一起剝皮案震驚了整個濱河市圾亏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌报亩,老刑警劉巖缀踪,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異腾务,居然都是意外死亡毕骡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門岩瘦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來未巫,“玉大人,你說我怎么就攤上這事启昧⌒鸱玻” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵密末,是天一觀的道長握爷。 經(jīng)常有香客問我跛璧,道長,這世上最難降的妖魔是什么新啼? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任追城,我火速辦了婚禮,結(jié)果婚禮上燥撞,老公的妹妹穿的比我還像新娘座柱。我一直安慰自己,他們只是感情好物舒,可當(dāng)我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布色洞。 她就那樣靜靜地躺著,像睡著了一般冠胯。 火紅的嫁衣襯著肌膚如雪火诸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天荠察,我揣著相機與錄音惭蹂,去河邊找鬼。 笑死割粮,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的媚污。 我是一名探鬼主播舀瓢,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼耗美!你這毒婦竟也來了京髓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤商架,失蹤者是張志新(化名)和其女友劉穎堰怨,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛇摸,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡备图,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了赶袄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片揽涮。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖饿肺,靈堂內(nèi)的尸體忽然破棺而出蒋困,到底是詐尸還是另有隱情,我是刑警寧澤敬辣,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布雪标,位于F島的核電站零院,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏村刨。R本人自食惡果不足惜告抄,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望烹困。 院中可真熱鬧玄妈,春花似錦、人聲如沸髓梅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽枯饿。三九已至酝锅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奢方,已是汗流浹背搔扁。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蟋字,地道東北人稿蹲。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像鹊奖,于是被迫代替她去往敵國和親苛聘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,512評論 2 359