[refactor] move rbm.stack* + rbm.rnn_helper → stack/
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import numpy as np
|
||||
|
||||
VOCAB = ' .!?ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
|
||||
_CH2IDX = {ch: i for i, ch in enumerate(VOCAB)}
|
||||
|
||||
def ch2idx(ch: str) -> int:
|
||||
return _CH2IDX[ch]
|
||||
|
||||
def idx2ch(idx: int) -> str:
|
||||
return VOCAB[idx]
|
||||
|
||||
|
||||
def concat(v: np.ndarray, c: np.ndarray) -> np.ndarray:
|
||||
return np.concatenate([v, c])
|
||||
|
||||
def split(vc: np.ndarray, v_size: np.ndarray|int) -> tuple[np.ndarray, np.ndarray]:
|
||||
n = len(v_size) if isinstance(v_size, np.ndarray) else v_size
|
||||
return vc[:n], vc[n:]
|
||||
|
||||
def shift_right(m: np.ndarray) -> np.ndarray:
|
||||
return np.hstack([np.zeros((m.shape[0], 1)), m[:, :-1]])
|
||||
|
||||
def shift_left(m: np.ndarray) -> np.ndarray:
|
||||
return np.hstack([m[:, 1:], np.zeros((m.shape[0], 1))])
|
||||
|
||||
def shift_up(m: np.ndarray) -> np.ndarray:
|
||||
return np.vstack([m[1:, :], np.zeros((1, m.shape[1]))])
|
||||
|
||||
def shift_down(m: np.ndarray) -> np.ndarray:
|
||||
return np.vstack([np.zeros((1, m.shape[1])), m[:-1, :]])
|
||||
|
||||
def clamp_one_hot(src_dst: np.ndarray) -> np.ndarray:
|
||||
index = np.argmax(src_dst)
|
||||
result = np.zeros_like(src_dst)
|
||||
result[index] = 1
|
||||
return result
|
||||
|
||||
class Rnn:
|
||||
def __init__(self):
|
||||
pass
|
||||
Reference in New Issue
Block a user