Я не вижу, чтобы данные очищали оба листа. вы можете использовать этот код
Sub LookUpTable()
'Declare Variables'
Dim Rng As Range
Dim VarArr As Variant
Dim i As Long
Dim BedPre As String
Dim BedSuf As String
Dim HISPre As String
Dim HISSuf As String
Dim ID As String
Dim Bed As String
Dim HIS As String
Dim NextRow As Long
'Assign cell values to variables'
With Sheets("Sheet1")
BedPre = Range("A2").Value
BedSuf = Range("B2").Value
HISPre = Range("D2").Value
HISSuf = Range("E2").Value
ID = Range("F2").Value
Set Rng = .Range("C2")
End With
NextRow = Sheets("Sheet2").Cells(Sheets("Sheet2").Rows.Count, "A").End(xlUp).Offset(1, 0).Row
If InStr(Rng, ",") > 0 Then
VarArr = Split(Rng, ",")
For i = 0 To UBound(VarArr)
Bed = BedPre & Trim(VarArr(i)) & BedSuf
HIS = HISPre & Trim(VarArr(i)) & HISSuf
NextRow = NextRow + 1
Sheets("Sheet2").Cells(NextRow, 1) = Bed
Sheets("Sheet2").Cells(NextRow, 2) = HIS
Sheets("Sheet2").Cells(NextRow, 3) = ID
Next
End If
Sheets("Sheet1").Range("A2:F2").ClearContents
End Sub
Реализация RNN на низком уровне может быть достигнута с помощью функции tf.scan . Например, для SimpleRNN реализация будет похожа на:
# our RNN variables
Wx = tf.get_variable(name='Wx', shape=[embedding_size, rnn_size])
Wh = tf.get_variable(name='Wh', shape=[rnn_size, rnn_size])
bias_rnn = tf.get_variable(name='brnn', initializer=tf.zeros([rnn_size]))
# single step in RNN
# simpleRNN formula is `tanh(WX+WH)`
def rnn_step(prev_hidden_state, x):
return tf.tanh(tf.matmul(x, Wx) + tf.matmul(prev_hidden_state, Wh) + bias_rnn)
# our unroll function
# notice that our inputs should be transpose
hidden_states = tf.scan(fn=rnn_step,
elems=tf.transpose(embed, perm=[1, 0, 2]),
initializer=tf.zeros([batch_size, rnn_size]))
# covert to previous shape
outputs = tf.transpose(hidden_states, perm=[1, 0, 2])
# extract last hidden
last_rnn_output = outputs[:, -1, :]
См. Полный пример здесь .
tf.scan
- это цикл for, в котором вы можете реализовать его Auto-graph API:
from tensorflow.python import autograph as ag
@ag.convert()
def f(x):
# ...
for ch in chars:
cell_output, (state, output) = cell.call(ch, (state, output))
hidden_outputs.append(cell_output)
hidden_outputs = autograph.stack(hidden_outputs)
# ...
См. Полный текст пример с автографом API здесь .
Если вам все еще нужно углубиться внутрь, чтобы реализовать RNN, см. это руководство , в котором RNN реализуется с numpy.
См. здесь .