aibox.nlp.estimators.generic.lstm
Estimador baseado na arquitetura LSTM.
Classes
|
Estimador LSTM genérico utilizando |
- class aibox.nlp.estimators.generic.lstm.LSTMEstimator(hidden_size: int, num_layers: int, kind: Literal['classifier', 'regressor'], random_state: int | None = None, epochs: int = 100, bias: bool = True, dropout_prob: float = 0, bidirectional: bool = False, proj_size: int = 0, learning_rate: float = 0.001, optim_params: dict = {}, optim: Literal['adam', 'adamw', 'rmsprop', 'adagrad', 'sgd'] = 'adamw', regression_ensure_bounds: bool = False, train_batch_size: int = 256, device: str | None = None, dtype=torch.float32)[código-fonte]
Base:
Estimator
Estimador LSTM genérico utilizando
torch.nn.LSTM
.- Parâmetros:
hidden_size (int) – número de features no estado escondido h.
num_layers (int) – quantidade de camadas recorrentes (stacked LSTM).
kind (Literal['classifier', 'regressor']) – se é uma rede de classificação ou regressão.
random_state (int | None) – seed.
epochs (int) – quantidade de épocas a ser utilizadas no momento do treinamento.
bias (bool) – se a camada LSTM deve possuir bias ou não.
dropout_prob (float) – probabilidade de dropout. Se não zero, introduz uma camada de dropout para cada saída da LSTM.
bidirectional (bool) – se a LSTM deve ser bidirecional.
proj_size (int) – se maior que 0, a LSTM utiliza projeções com esse tamanho.
learning_rate (float) – taxa de aprendizado do otimizador.
optim_params (dict) – parâmetros extras a serem passados para o otimizador além da taxa de aprendizado.
optim (Literal['adam', 'adamw', 'rmsprop', 'adagrad', 'sgd']) – otimizador a ser utilizado.
regression_ensure_bounds (bool) – se os limites devem ser respeitados em redes de regressão.
train_batch_size (int) – tamanho do batch para treinamento.
device (str) – dispositivo que o modelo deve ser armazenado.
dtype – dtype esperado pela rede. Conversões são realizadas automaticamente.
- O modelo é construído na primeira chamada ao método
fit()
. A arquitetura consiste em: Camada LSTM que recebe o tamanho da entrada;
n - 1 camadas LSTM que recebem a saída da anterior como entrada;
Uma camada de extração dos estados escondidos;
Uma camada totalmente conectada com ativação linear;
A saída do modelo depende se a rede é de classificação (logits) ou regressão (valor numérico).
Esse estimador também permite que o shape de entrada (para os métodos
fit()
epredict()
) seja (n_samples, variable_seq_size, n_features).- fit(X: list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor, y: list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor, **kwargs) None [código-fonte]
Realiza o treinamento do estimador.
- Parâmetros:
X (list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor) – features no formato (n_samples, n_features).
y (list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor) – saída esperada com formato (n_samples,)
**kwargs – parâmetros extras que podem ser passados para alguns estimadores.
- Tipo de retorno:
None
- predict(X: list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor, **kwargs) None [código-fonte]
Realiza a predição utilizando os parâmetros atuais do modelo.
- property hyperparameters: dict
Hiper-parâmetros do modelo. Inclui a seed randômica. Estrutura do dicionário varia entre diferentes estimadores.
- Retorna:
dicionário de hiper-parâmetros.