第五十九周學習筆記

2021-09-27 03:32:39 字數 2516 閱讀 3278

咦?第五十八周筆記去哪了?

lstm from torch.nn scratch, 這裡

主要的設計思路

class

mylstmcell

(nn.module)

:def

__init__

(self, input_size, hidden_size)

:super

(mylstmcell, self)

.__init__(

) self.gate = nn.linear(input_size + hidden_size,3)

self.cell = nn.linear(input_size + hidden_size, hidden_size)

defforward

(self, x, state)

: h, c = state

x = torch.cat(

[x, h]

, dim=1)

gate = self.gate(x)

gate_i = torch.sigmoid(gate[:,

0]).view(-1

,1) gate_f = torch.sigmoid(gate[:,

1]).view(-1

,1) gate_o = torch.sigmoid(gate[:,

2]).view(-1

,1) c = torch.tanh(self.cell(x)

) c = gate_i * c + gate_f * c

h = gate_o * torch.tanh(c)

return h, c

class

mylstm

(nn.module)

:def

__init__

(self, opt)

:super

(mylstm, self)

.__init__(

) self.input_size = opt.input_size

self.hidden_size = opt.hidden_size

self.vocab_size = opt.vocab_size

self.embedding_dim = opt.embedding_dim

self.core = mylstmcell(self.input_size, self.hidden_size)

self.embed = nn.embedding(self.vocab_size+

1, self.embedding_dim)

self.max_length = opt.max_length

self.num_classes = opt.num_classes

self.output = nn.linear(self.hidden_size, self.num_classes)

definit_weight

(self, bs)

: weight =

next

(self.parameters())

return weight.new_zeros(bs, self.hidden_size)

, weight.new_zeros(bs, self.hidden_size)

defforward

(self, x)

: state = self.init_weight(x.shape[0]

) outputs =

for i in

range

(self.max_length)

: xt = x[

:, i]

if torch.

sum(xt)==0

:break

xt = self.embed(xt)

state = self.core(xt, state)0]

.unsqueeze(2)

) x = self.output(torch.mean(torch.cat(outputs,dim=2)

,dim=2)

)return x

隨便找了個外賣評價做**,準確率到達83.71%,作為對比,詞袋模型的準確率是73%

一些問題測了手上所有的grid attention的模型表現,**取自這裡

和可考的官方結果進行對比

複習了一些以前的內容

重新整理到了這裡

整理到了這裡

開學第一周,有點迷,總是發呆

整理**

所有模型的度量結果

學習linux的第五十九天

redis 是乙個開源 bsd許可 記憶體儲存的資料結構伺服器,可用作資料庫,快取記憶體和訊息佇列 redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 無序集合 及 zset sorted set 有序集合 內建複製 lua指令碼 lru收回 事務以及不同級別磁碟...

hihor日記 hiho一下 第五十九周

給定乙個單執行緒程式執行的記錄,包含有每個函式啟動和結束的時間。判定該份記錄是否錯誤,主要的錯誤包含 記錄中的時間不是嚴格遞增的 乙個函式的結束時間比啟動時間更早 記錄中乙個函式有不對應的啟動操作start或結束操作end,比如出現了start卻沒有對應的end,或出現了end卻沒有出現start。...

解題思路 leetcode第五十九題 螺旋矩陣

給定乙個正整數 n,生成乙個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。示例 輸入 3 輸出 1,2,3 8,9,4 7,6,5 解題思路 本題採用迴圈賦值的方法,其關鍵之處如何對提前建立的列表進行螺旋遍歷並賦值,本題通過設定兩個標誌位實現遍歷的過程中轉向,程式設定a,b,...