Struct rust_bert::bert::BertPooler [−][src]
pub struct BertPooler { /* fields omitted */ }Expand description
BERT Pooler
Pooler used in BERT models. It is made of a fully connected layer which is applied to the first sequence element.
Implementations
Build a new BertPooler
Arguments
p- Variable store path for the root of the BERT modelconfig-BertConfigobject defining the model architecture
Example
use rust_bert::bert::{BertConfig, BertPooler};
use rust_bert::Config;
use std::path::Path;
use tch::{nn, Device};
let config_path = Path::new("path/to/config.json");
let device = Device::Cpu;
let p = nn::VarStore::new(device);
let config = BertConfig::from_file(config_path);
let pooler: BertPooler = BertPooler::new(&p.root(), &config);Forward pass through the pooler
Arguments
hidden_states- input tensor of shape (batch size, sequence_length, hidden_size).
Returns
Tensorof shape (batch size, hidden_size)
Example
let pooler: BertPooler = BertPooler::new(&vs.root(), &config);
let (batch_size, sequence_length, hidden_size) = (64, 128, 512);
let input_tensor = Tensor::rand(
&[batch_size, sequence_length, hidden_size],
(Kind::Float, device),
);
let pooler_output = no_grad(|| pooler.forward(&input_tensor));Auto Trait Implementations
impl RefUnwindSafe for BertPooler
impl Send for BertPooler
impl !Sync for BertPooler
impl Unpin for BertPooler
impl UnwindSafe for BertPooler
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
type Output = T
type Output = T
Should always be Self
