File size: 578 Bytes
2cc08ea
7779efa
 
2cc08ea
7779efa
2cc08ea
7779efa
 
 
 
 
 
 
 
 
 
 
 
 
 
2cc08ea
 
 
 
 
 
7779efa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using TorchSharp;

public class ClipEncoder : IDisposable
{
    private torch.jit.ScriptModule _model;
    public torch.Device Device {get;}

    public ClipEncoder(string modelPath, torch.Device device)
    {
        _model = TorchSharp.torch.jit.load(modelPath);
        Device = device;
        _model.to(Device);
        _model.eval();
    }

    public torch.Tensor Forward(torch.Tensor tokenTensor)
    {
        return (torch.Tensor)_model.forward(tokenTensor);
    }

    public void Dispose()
    {
        _model.Dispose();
        _model = null;
    }
}