基於語義視覺的零樣本學習

2021-10-09 17:17:44 字數 1691 閱讀 3378

import numpy as np

import scipy

import scipy.io as sio

np.set_printoptions(threshold=np.inf)

# 基本資料載入

data_root=

"./googlenet_awa/"

awa = scipy.io.loadmat(

'awa_demo_data.mat'

)# 訓練用資料

# 可見類樣本

train_seen_data = np.load(data_root+

"str_f.npy"

)# 可見類語義資訊

train_seen_att = np.load(data_root+

"str_att.npy"

)# 未見類標籤

train_unseen_label = awa[

'testclasses_id'

]# 未見類語義資訊

train_unseen_att = awa[

's_te_gt'

]# 測試用資料

# 未見類測試樣本

test_unseen_data = np.load(data_root+

"ute_f.npy"

)# 未見類標籤

test_unseen_labels = np.load(data_root+

"ute_l.npy"

)# 訓練階段

# 資料預處理

from sklearn import preprocessing

train_seen_data_scaled = preprocessing.scale(train_seen_data)

# 未見類虛擬樣本生成(這一步我們的方法中用gan代替了回歸器)

# 訓練乙個語義視覺回歸器

from sklearn import linear_model

regressor = linear_model.linearregression(

)regressor.fit(train_seen_att, train_seen_data)

# 使用未見類語義資訊,基於視覺語義回歸器,生成對應的未見類虛擬樣本

pred_train_unseen_data = regressor.predict(train_unseen_att)

# 使用未見類虛擬樣本,訓練乙個分類器,該分類器能夠對未見類樣本進行分類

from sklearn import neighbors

classfier = neighbors.kneighborsclassifier(

)classfier.fit(pred_train_unseen_data, train_unseen_label.reshape(-1

))# 測試階段

# 預處理未見類樣本

test_unseen_data_scaled = preprocessing.scale(test_unseen_data)

# 零樣本識別

pred_label = classfier.predict(test_unseen_data_scaled)

(test_unseen_labels.reshape(-1

)== pred_label)

.sum()

/6180

未知工作載荷下故障診斷的零樣本學習方法(閱讀筆記)

未知工作載荷下故障診斷的零樣本學習方法 a zero shot learning method for fault diagnosis under unknown working loads 創新點 本文提出了一種基於壓縮堆疊自動編碼器的零樣本學習方法。該方法僅由已知工作載荷的資料訓練而成,無需先驗...

CSS中視覺語義不等於基於表現的類

你和使用者之間的 堆疊 簡化www.cppcns.com版 在txjs大會的最後一天,乙個開發者問我 物件導向的css沒有給你留下一大堆基於表現的class名?網路堆疊中的每一層都有它自己的結構。你不會期望將資料庫架構用於構建php中介軟體,人們對於html和css的期望是一樣一樣的。html需要用...

基於深度學習問答系統中的語義相似度計算

問答系統,簡稱qa,是自然語言處理領域的一類經典問題。問答系統的模式基本上分為兩類 1.由輸入的問題在n個候選答案中選取乙個最佳的答案。2.由輸入的問題在已有的問題中選取乙個語義最相似的問題,將該已有問題的答案作為最終的答案返回。第一種問答系統類似與京東客服的自動回答系統,很多使用過京東客服或是 客...