pipelines

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PrintTokenEntities

func PrintTokenEntities(o TokenClassificationOutput)

Types

type BasePipeline

type BasePipeline struct {
	ModelPath        string
	PipelineName     string
	OrtSession       *ort.DynamicAdvancedSession
	OrtOptions       *ort.SessionOptions
	Tokenizer        *tokenizers.Tokenizer
	TokenizerOptions []tokenizers.EncodeOption
	InputsMeta       []ort.InputOutputInfo
	OutputsMeta      []ort.InputOutputInfo

	OutputDim        int
	TokenizerTimings *Timings
	PipelineTimings  *Timings
	// contains filtered or unexported fields
}

BasePipeline is a basic pipeline type used for struct composition in the other pipelines

func (*BasePipeline) Destroy

func (p *BasePipeline) Destroy() error

func (*BasePipeline) Forward

func (p *BasePipeline) Forward(batch PipelineBatch) (PipelineBatch, error)

Forward pass of the neural network on the tokenized input

func (*BasePipeline) GetOutputDim

func (p *BasePipeline) GetOutputDim() int

func (*BasePipeline) GetStats

func (p *BasePipeline) GetStats() []string

func (*BasePipeline) Preprocess

func (p *BasePipeline) Preprocess(inputs []string) PipelineBatch

Preprocess the input strings in the batch

func (*BasePipeline) SetSessionOptions

func (p *BasePipeline) SetSessionOptions() error

type ClassificationOutput

type ClassificationOutput struct {
	Label string
	Score float32
}

type FeatureExtractionOutput

type FeatureExtractionOutput [][]float32

type FeatureExtractionPipeline

type FeatureExtractionPipeline struct {
	BasePipeline
}

func NewFeatureExtractionPipeline

func NewFeatureExtractionPipeline(modelPath string, name string) (*FeatureExtractionPipeline, error)

NewFeatureExtractionPipeline Initialize a feature extraction pipeline

func (*FeatureExtractionPipeline) Postprocess

Postprocess Parse the results of the forward pass into the output. Token embeddings are mean pooled.

func (*FeatureExtractionPipeline) Run

Run the pipeline on a string batch

type Pipeline

type Pipeline interface {
	Destroy() error
	GetStats() []string
	GetOutputDim() int
}

type PipelineBatch

type PipelineBatch struct {
	Input                []TokenizedInput
	IdsTensor            []int64
	TypeIdsTensor        []int64
	AttentionMasksTensor []int64
	MaxSequence          int
	OutputTensor         []float32
}

type TextClassificationOption

type TextClassificationOption func(eo *TextClassificationPipeline)

func WithAggregationFunction

func WithAggregationFunction(aggregationFunction func([]float32) []float32) TextClassificationOption

type TextClassificationOutput

type TextClassificationOutput [][]ClassificationOutput

type TextClassificationPipeline

type TextClassificationPipeline struct {
	BasePipeline
	IdLabelMap          map[int]string
	AggregationFunction func([]float32) []float32
}

func NewTextClassificationPipeline

func NewTextClassificationPipeline(modelPath string, name string, opts ...TextClassificationOption) (*TextClassificationPipeline, error)

NewTextClassificationPipeline initializes a new text classification pipeline

func (*TextClassificationPipeline) Forward

func (*TextClassificationPipeline) Postprocess

func (*TextClassificationPipeline) Run

Run the pipeline on a string batch

type TextClassificationPipelineConfig

type TextClassificationPipelineConfig struct {
	IdLabelMap map[int]string `json:"id2label"`
}

type Timings

type Timings struct {
	NumCalls uint64
	TotalNS  uint64
}

type TokenClassificationOption

type TokenClassificationOption func(eo *TokenClassificationPipeline)

func WithIgnoreLabels

func WithIgnoreLabels(ignoreLabels []string) TokenClassificationOption

func WithSimpleAggregation

func WithSimpleAggregation() TokenClassificationOption

func WithoutAggregation

func WithoutAggregation() TokenClassificationOption

type TokenClassificationOutput

type TokenClassificationOutput [][]entity

type TokenClassificationPipeline

type TokenClassificationPipeline struct {
	BasePipeline
	IdLabelMap          map[int]string
	AggregationStrategy string
	IgnoreLabels        []string
}

func NewTokenClassificationPipeline

func NewTokenClassificationPipeline(modelPath string, name string, opts ...TokenClassificationOption) (*TokenClassificationPipeline, error)

NewTokenClassificationPipeline Initializes a feature extraction pipeline

func (*TokenClassificationPipeline) Aggregate

func (p *TokenClassificationPipeline) Aggregate(input TokenizedInput, preEntities []entity) ([]entity, error)

func (*TokenClassificationPipeline) GatherPreEntities

func (p *TokenClassificationPipeline) GatherPreEntities(input TokenizedInput, output [][]float32) []entity

GatherPreEntities from batch of logits to list of pre-aggregated outputs

func (*TokenClassificationPipeline) GroupEntities

func (p *TokenClassificationPipeline) GroupEntities(entities []entity) ([]entity, error)

GroupEntities group together adjacent tokens with the same entity predicted

func (*TokenClassificationPipeline) Postprocess

Postprocess function for a token classification pipeline

func (*TokenClassificationPipeline) Run

Run the pipeline on a string batch

type TokenClassificationPipelineConfig

type TokenClassificationPipelineConfig struct {
	IdLabelMap map[int]string `json:"id2label"`
}

type TokenizedInput

type TokenizedInput struct {
	Raw               string
	Tokens            []string
	TokenIds          []uint32
	TypeIds           []uint32
	AttentionMask     []uint32
	SpecialTokensMask []uint32
	MaxAttentionIndex int
	Offsets           []tokenizers.Offset
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL