import torch
import torch.nn as nn
class Model(nn.Module):
"""
Softmax operation that normalizes the input tensor along a specified dimension.
This operation is commonly used in neural networks for:
- Converting logits to probabilities in classification tasks
- Used in attention mechanisms to compute attention weights
- Normalizing outputs to form probability distributions
Formula: output_i = exp(input_i) / sum(exp(input_j)) for j in dimension
"""
def __init__(self, dim=-1):
super(Model, self).__init__()
self.dim = dim
def forward(self, input_tensor):
result = torch.softmax(input_tensor, dim=self.dim)
return result
def get_inputs():
input_tensor = torch.randn(32, 512, 4096, dtype=torch.float32)
return [input_tensor]
def get_init_inputs():
dim = -1
return [dim]