microsoft/onnxruntime-extensions

Public

mirrored fromhttps://github.com/microsoft/onnxruntime-extensionsAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v0.4.2

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

operators/tokenizer/gpt2_tokenizer.hpp

27lines · modecode

1#include <list>
2#include "ocos.h"
3#include "ustring.h"
4
5
6class VocabData;
7
8struct KernelBpeTokenizer : BaseKernel {
9 KernelBpeTokenizer(OrtApi api, const OrtKernelInfo* info);
10 void Compute(OrtKernelContext* context);
11
12 private:
13 std::vector<int64_t> Tokenize(const ustring& input, int64_t max_length);
14
15 int64_t padding_length_;
16 std::list<int> byte_list_;
17 std::shared_ptr<VocabData> bbpe_tokenizer_;
18};
19
20struct CustomOpBpeTokenizer : Ort::CustomOpBase<CustomOpBpeTokenizer, KernelBpeTokenizer> {
21 void* CreateKernel(OrtApi api, const OrtKernelInfo* info) const;
22 const char* GetName() const;
23 size_t GetInputTypeCount() const;
24 ONNXTensorElementDataType GetInputType(size_t index) const;
25 size_t GetOutputTypeCount() const;
26 ONNXTensorElementDataType GetOutputType(size_t index) const;
27};
28