Skip to content
Closed
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
39aa1c5
Override 'Module._to()' overloads on some modules that do not have bu…
NiklasGustafsson Feb 27, 2023
7b0350a
Shortcircuit '_to()' for modules that are known not to have buffers o…
NiklasGustafsson Feb 28, 2023
534baaa
Experimental rewrite of some modules.
NiklasGustafsson Mar 3, 2023
ae18c5e
Merge branch 'main' into unit
NiklasGustafsson Mar 6, 2023
7b89432
Slight modification to the experimental re-implementation of Linear.
NiklasGustafsson Mar 6, 2023
4c25d33
Merge branch 'missing' into unit
NiklasGustafsson Mar 6, 2023
bf32faf
Implemented a number of modules as managed code calling into function…
NiklasGustafsson Mar 7, 2023
6316f0f
Merge branch 'main' into unit
NiklasGustafsson Mar 7, 2023
d5b64d3
More modules implemented without native module instances
NiklasGustafsson Mar 7, 2023
0228eb5
Merge branch 'main' into unit
NiklasGustafsson Mar 8, 2023
16cfbc3
Merge branch 'main' into unit
NiklasGustafsson Mar 13, 2023
f844cd5
Merge branch 'main' into unit
NiklasGustafsson Mar 14, 2023
cfaea64
Merge branch 'main' into unit
NiklasGustafsson Mar 17, 2023
06c9ac7
Merge branch 'main' into unit
NiklasGustafsson Mar 27, 2023
4778090
Merge branch 'main' into unit
NiklasGustafsson Mar 27, 2023
339e381
Fixed infinite recursion in bilinear.
NiklasGustafsson Mar 27, 2023
a5f7514
Merge branch 'unit' of https://github.com/NiklasGustafsson/TorchSharp…
NiklasGustafsson Mar 27, 2023
b1ff253
Merge branch 'main' into unit
NiklasGustafsson Mar 28, 2023
3419f73
Merge branch 'main' into unit
NiklasGustafsson Mar 28, 2023
eeba298
Merge branch 'unit' of https://github.com/NiklasGustafsson/TorchSharp…
NiklasGustafsson Mar 30, 2023
0108153
Merge branch 'main' into unit
Apr 4, 2023
a771c6e
Merge branch 'main' into unit
NiklasGustafsson Apr 10, 2023
0130a1d
Merge branch 'unit' of https://github.com/NiklasGustafsson/TorchSharp…
NiklasGustafsson Apr 10, 2023
1dba6d1
Merge branch 'main' into unit
NiklasGustafsson Apr 24, 2023
0f8122f
Merge branch 'main' into unit
NiklasGustafsson Apr 25, 2023
c617c1c
Merge branch 'main' into unit
NiklasGustafsson Apr 26, 2023
0d9132e
Merge branch 'main' into unit
NiklasGustafsson Apr 27, 2023
3c876ef
Merge branch 'main' into unit
NiklasGustafsson Apr 28, 2023
c017dbc
Merge branch 'main' into unit
NiklasGustafsson May 8, 2023
86f22c4
Merge branch 'main' into unit
NiklasGustafsson May 9, 2023
0397f47
Merge branch 'main' into unit
NiklasGustafsson May 9, 2023
5d3e664
Manual merge
NiklasGustafsson May 17, 2023
13761a4
Manual merge
NiklasGustafsson May 18, 2023
e311a07
Corrected faulty merge.
NiklasGustafsson May 18, 2023
0a448cd
Merge branch 'main' into unit
NiklasGustafsson May 24, 2023
0ad47e4
Merge branch 'main' into unit
NiklasGustafsson May 30, 2023
4bb03e7
Merge branch 'main' into unit
Jun 5, 2023
3df1dba
Merge branch 'main' into unit
NiklasGustafsson Jun 12, 2023
577bb38
Merge branch 'main' into unit
NiklasGustafsson Jun 14, 2023
e50ad22
Merge branch 'main' into unit
Jun 21, 2023
2faa5ab
Merge branch 'main' into unit
Jun 23, 2023
dec12cf
Merge branch 'main' into unit
Jun 24, 2023
0d6b180
Merge branch 'main' into unit
Jun 25, 2023
e8e47d6
Merge branch 'main' into unit
NiklasGustafsson Jun 27, 2023
162d613
Merge branch 'main' into unit
NiklasGustafsson Jul 12, 2023
25b20ea
Merge branch 'main' into unit
NiklasGustafsson Jul 14, 2023
55e96d7
Merge branch 'main' into unit
NiklasGustafsson Jul 17, 2023
5906909
Merge branch 'main' into unit
NiklasGustafsson Jul 20, 2023
1a8263b
Merge branch 'main' into unit
NiklasGustafsson Aug 8, 2023
db20fcd
Merge branch 'main' into unit
NiklasGustafsson Aug 9, 2023
93c1efc
Merge branch 'main' into unit
NiklasGustafsson Aug 9, 2023
889a906
Merge branch 'main' into unit
NiklasGustafsson Aug 9, 2023
b5c8ae7
Merge branch 'main' into unit
NiklasGustafsson Aug 10, 2023
fecb310
Merge branch 'main' into unit
NiklasGustafsson Aug 10, 2023
678ed3b
Merge branch 'main' into unit
NiklasGustafsson Aug 10, 2023
1abc324
Merge branch 'main' into unit
NiklasGustafsson Aug 11, 2023
8afc8d6
Merge branch 'main' into unit
NiklasGustafsson Aug 14, 2023
e17eb31
Merge branch 'main' into unit
NiklasGustafsson Aug 15, 2023
53be92f
Merge branch 'main' into unit
NiklasGustafsson Aug 15, 2023
a341978
Merge branch 'main' into unit
NiklasGustafsson Aug 16, 2023
53a20bb
Merge branch 'main' into unit
NiklasGustafsson Aug 17, 2023
f4c688e
Merge branch 'main' into unit
NiklasGustafsson Aug 29, 2023
2fd482d
Merge branch 'main' into unit
NiklasGustafsson Aug 29, 2023
b2c69ed
Merge branch 'main' into unit
NiklasGustafsson Aug 31, 2023
b91dd85
Merge branch 'main' into unit
NiklasGustafsson Sep 7, 2023
c3fe4e6
Merge branch 'main' into unit
NiklasGustafsson Sep 8, 2023
89286f4
Merge branch 'main' into unit
NiklasGustafsson Sep 21, 2023
d50b4e9
Merge branch 'main' into unit
NiklasGustafsson Oct 9, 2023
375202a
Merge branch 'main' into unit
NiklasGustafsson Oct 17, 2023
153e279
Merge branch 'main' into unit
NiklasGustafsson Oct 19, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
212 changes: 0 additions & 212 deletions src/Native/LibTorchSharp/THSConvolution.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -408,218 +408,6 @@ Tensor THSNN_FractionalMaxPool3d_forward_with_indices(const NNModule module, con
return ResultTensor(std::get<0>(res));
}

NNModule THSNN_ZeroPad2d_ctor(const int64_t padding, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ZeroPad2dOptions(padding);
res = create_module<torch::nn::ZeroPad2dImpl>(opts, outAsAnyModule);
);
}

NNModule THSNN_ZeroPad2d_ctor_tuple(const int64_t padding_left, const int64_t padding_right, const int64_t padding_top, const int64_t padding_bottom, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ZeroPad2dOptions({ padding_left, padding_right, padding_top, padding_bottom });
res = create_module<torch::nn::ZeroPad2dImpl>(opts, outAsAnyModule);
);
}

Tensor THSNN_ZeroPad2d_forward(const NNModule module, const Tensor tensor)
{
CATCH_TENSOR((*module)->as<torch::nn::ZeroPad2d>()->forward(*tensor));
}

NNModule THSNN_ConstantPad1d_ctor(const double value, const int64_t padding, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ConstantPad1dOptions(padding, value);
res = create_module<torch::nn::ConstantPad1dImpl>(opts, outAsAnyModule);
);
}

Tensor THSNN_ConstantPad1d_forward(const NNModule module, const Tensor tensor)
{
CATCH_TENSOR((*module)->as<torch::nn::ConstantPad1d>()->forward(*tensor));
}

NNModule THSNN_ConstantPad2d_ctor(const double value, const int64_t padding, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ConstantPad2dOptions(padding, value);
res = create_module<torch::nn::ConstantPad2dImpl>(opts, outAsAnyModule);
);
}

Tensor THSNN_ConstantPad2d_forward(const NNModule module, const Tensor tensor)
{
CATCH_TENSOR((*module)->as<torch::nn::ConstantPad2d>()->forward(*tensor));
}

NNModule THSNN_ConstantPad3d_ctor(const double value, const int64_t padding, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ConstantPad3dOptions(padding, value);
res = create_module<torch::nn::ConstantPad3dImpl>(opts, outAsAnyModule);
);
}

Tensor THSNN_ConstantPad3d_forward(const NNModule module, const Tensor tensor)
{
CATCH_TENSOR((*module)->as<torch::nn::ConstantPad3d>()->forward(*tensor));
}

NNModule THSNN_ConstantPad1d_ctor_tuple(const double value, const int64_t padding_left, const int64_t padding_right, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ConstantPad1dOptions({ padding_left, padding_right }, value);
res = create_module<torch::nn::ConstantPad1dImpl>(opts, outAsAnyModule);
);
}

NNModule THSNN_ConstantPad2d_ctor_tuple(const double value, const int64_t padding_left, const int64_t padding_right, const int64_t padding_top, const int64_t padding_bottom, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ConstantPad2dOptions({ padding_left, padding_right, padding_top, padding_bottom }, value);
res = create_module<torch::nn::ConstantPad2dImpl>(opts, outAsAnyModule);
);
}

NNModule THSNN_ConstantPad3d_ctor_tuple(const double value, const int64_t padding_left, const int64_t padding_right, const int64_t padding_top, const int64_t padding_bottom, const int64_t padding_front, const int64_t padding_back, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ConstantPad3dOptions({ padding_left, padding_right, padding_top, padding_bottom, padding_front, padding_back }, value);
res = create_module<torch::nn::ConstantPad3dImpl>(opts, outAsAnyModule);
);
}

NNModule THSNN_ReplicationPad1d_ctor(const int64_t padding, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ReplicationPad1dOptions(padding);
res = create_module<torch::nn::ReplicationPad1dImpl>(opts, outAsAnyModule);
);
}

Tensor THSNN_ReplicationPad1d_forward(const NNModule module, const Tensor tensor)
{
CATCH_TENSOR((*module)->as<torch::nn::ReplicationPad1d>()->forward(*tensor));
}

NNModule THSNN_ReplicationPad2d_ctor(const int64_t padding, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ReplicationPad2dOptions(padding);
res = create_module<torch::nn::ReplicationPad2dImpl>(opts, outAsAnyModule);
);
}

Tensor THSNN_ReplicationPad2d_forward(const NNModule module, const Tensor tensor)
{
CATCH_TENSOR((*module)->as<torch::nn::ReplicationPad2d>()->forward(*tensor));
}

NNModule THSNN_ReplicationPad3d_ctor(const int64_t padding, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ReplicationPad3dOptions(padding);
res = create_module<torch::nn::ReplicationPad3dImpl>(opts, outAsAnyModule);
);
}


Tensor THSNN_ReplicationPad3d_forward(const NNModule module, const Tensor tensor)
{
CATCH_TENSOR((*module)->as<torch::nn::ReplicationPad3d>()->forward(*tensor));
}

NNModule THSNN_ReplicationPad1d_ctor_tuple(const int64_t padding_left, const int64_t padding_right, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ReplicationPad1dOptions({ padding_left, padding_right });
res = create_module<torch::nn::ReplicationPad1dImpl>(opts, outAsAnyModule);
);
}

NNModule THSNN_ReplicationPad2d_ctor_tuple(const int64_t padding_left, const int64_t padding_right, const int64_t padding_top, const int64_t padding_bottom, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ReplicationPad2dOptions({ padding_left, padding_right, padding_top, padding_bottom });
res = create_module<torch::nn::ReplicationPad2dImpl>(opts, outAsAnyModule);
);
}

NNModule THSNN_ReplicationPad3d_ctor_tuple(const int64_t padding_left, const int64_t padding_right, const int64_t padding_top, const int64_t padding_bottom, const int64_t padding_front, const int64_t padding_back, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ReplicationPad3dOptions({ padding_left, padding_right, padding_top, padding_bottom, padding_front, padding_back });
res = create_module<torch::nn::ReplicationPad3dImpl>(opts, outAsAnyModule);
);
}

NNModule THSNN_ReflectionPad1d_ctor(const int64_t padding, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ReflectionPad1dOptions(padding);
res = create_module<torch::nn::ReflectionPad1dImpl>(opts, outAsAnyModule);
);
}

Tensor THSNN_ReflectionPad1d_forward(const NNModule module, const Tensor tensor)
{
CATCH_TENSOR((*module)->as<torch::nn::ReflectionPad1d>()->forward(*tensor));
}

NNModule THSNN_ReflectionPad2d_ctor(const int64_t padding, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ReflectionPad2dOptions(padding);
res = create_module<torch::nn::ReflectionPad2dImpl>(opts, outAsAnyModule);
);
}

Tensor THSNN_ReflectionPad2d_forward(const NNModule module, const Tensor tensor)
{
CATCH_TENSOR((*module)->as<torch::nn::ReflectionPad2d>()->forward(*tensor));
}

NNModule THSNN_ReflectionPad3d_ctor(const int64_t padding, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ReflectionPad3dOptions(padding);
res = create_module<torch::nn::ReflectionPad3dImpl>(opts, outAsAnyModule);
);
}

Tensor THSNN_ReflectionPad3d_forward(const NNModule module, const Tensor tensor)
{
CATCH_TENSOR((*module)->as<torch::nn::ReflectionPad3d>()->forward(*tensor));
}

NNModule THSNN_ReflectionPad1d_ctor_tuple(const int64_t padding_left, const int64_t padding_right, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ReflectionPad1dOptions({ padding_left, padding_right });
res = create_module<torch::nn::ReflectionPad1dImpl>(opts, outAsAnyModule);
);
}

NNModule THSNN_ReflectionPad2d_ctor_tuple(const int64_t padding_left, const int64_t padding_right, const int64_t padding_top, const int64_t padding_bottom, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ReflectionPad2dOptions({ padding_left, padding_right, padding_top, padding_bottom });
res = create_module<torch::nn::ReflectionPad2dImpl>(opts, outAsAnyModule);
);
}

NNModule THSNN_ReflectionPad3d_ctor_tuple(const int64_t padding_left, const int64_t padding_right, const int64_t padding_top, const int64_t padding_bottom, const int64_t padding_front, const int64_t padding_back, NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::ReflectionPad3dOptions({ padding_left, padding_right, padding_top, padding_bottom, padding_front, padding_back });
res = create_module<torch::nn::ReflectionPad3dImpl>(opts, outAsAnyModule);
);
}


template<typename T>
void ApplyPaddingMode(T& opts, const int64_t padding)
{
Expand Down
34 changes: 0 additions & 34 deletions src/Native/LibTorchSharp/THSNN.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,40 +16,6 @@ Tensor THSNN_Identity_forward(const NNModule module, const Tensor tensor)
CATCH_TENSOR((*module)->as<torch::nn::Identity>()->forward(*tensor));
}

NNModule THSNN_Linear_ctor(const int64_t input_size, const int64_t output_size, const bool bias,
NNAnyModule* outAsAnyModule)
{
CATCH_RETURN_NNModule(
auto opts = torch::nn::LinearOptions(input_size, output_size).bias(bias);
res = create_module<torch::nn::LinearImpl>(opts, outAsAnyModule);
);
}

Tensor THSNN_Linear_forward(const NNModule module, const Tensor tensor)
{
CATCH_TENSOR((*module)->as<torch::nn::Linear>()->forward(*tensor));
}

Tensor THSNN_Linear_bias(const NNModule module)
{
return get_bias<torch::nn::Linear>(module);
}

void THSNN_Linear_set_bias(const NNModule module, const Tensor bias)
{
set_bias<torch::nn::Linear>(module, bias);
}

Tensor THSNN_Linear_weight(const NNModule module)
{
return get_weight<torch::nn::Linear>(module);
}

void THSNN_Linear_set_weight(const NNModule module, const Tensor weight)
{
set_weight<torch::nn::Linear>(module, weight);
}

Tensor THSNN_functional_linear(const Tensor input, const Tensor weights, const Tensor bias)
{
CATCH_TENSOR(bias == nullptr ?
Expand Down
42 changes: 0 additions & 42 deletions src/Native/LibTorchSharp/THSNN.h
Original file line number Diff line number Diff line change
Expand Up @@ -94,42 +94,6 @@ EXPORT_API(Tensor) THSNN_LPPool1d_forward(const NNModule module, const Tensor
EXPORT_API(NNModule) THSNN_LPPool2d_ctor(double norm_type, const int64_t* kernelSize, const int kernelSizeLength, const int64_t* stride, const int strideLength, bool ceil_mode, NNAnyModule* outAsAnyModule);
EXPORT_API(Tensor) THSNN_LPPool2d_forward(const NNModule module, const Tensor tensor);

// Padding

EXPORT_API(NNModule) THSNN_ZeroPad2d_ctor(const int64_t padding, NNAnyModule* outAsAnyModule);
EXPORT_API(NNModule) THSNN_ZeroPad2d_ctor_tuple(const int64_t padding_left, const int64_t padding_right, const int64_t padding_top, const int64_t padding_bottom, NNAnyModule* outAsAnyModule);
EXPORT_API(Tensor) THSNN_ZeroPad2d_forward(const NNModule module, const Tensor tensor);

EXPORT_API(NNModule) THSNN_ConstantPad1d_ctor(const double value, const int64_t padding, NNAnyModule* outAsAnyModule);
EXPORT_API(NNModule) THSNN_ConstantPad1d_ctor_tuple(const double value, const int64_t padding_left, const int64_t padding_right, NNAnyModule* outAsAnyModule);
EXPORT_API(Tensor) THSNN_ConstantPad1d_forward(const NNModule module, const Tensor tensor);
EXPORT_API(NNModule) THSNN_ConstantPad2d_ctor(const double value, const int64_t padding, NNAnyModule* outAsAnyModule);
EXPORT_API(NNModule) THSNN_ConstantPad2d_ctor_tuple(const double value, const int64_t padding_left, const int64_t padding_right, const int64_t padding_top, const int64_t padding_bottom, NNAnyModule* outAsAnyModule);
EXPORT_API(Tensor) THSNN_ConstantPad2d_forward(const NNModule module, const Tensor tensor);
EXPORT_API(NNModule) THSNN_ConstantPad3d_ctor(const double value, const int64_t padding, NNAnyModule* outAsAnyModule);
EXPORT_API(NNModule) THSNN_ConstantPad3d_ctor_tuple(const double value, const int64_t padding_left, const int64_t padding_right, const int64_t padding_top, const int64_t padding_bottom, const int64_t padding_front, const int64_t padding_back, NNAnyModule* outAsAnyModule);
EXPORT_API(Tensor) THSNN_ConstantPad3d_forward(const NNModule module, const Tensor tensor);

EXPORT_API(NNModule) THSNN_ReplicationPad1d_ctor(const int64_t padding, NNAnyModule* outAsAnyModule);
EXPORT_API(NNModule) THSNN_ReplicationPad1d_ctor_tuple(const int64_t padding_left, const int64_t padding_right, NNAnyModule* outAsAnyModule);
EXPORT_API(Tensor) THSNN_ReplicationPad1d_forward(const NNModule module, const Tensor tensor);
EXPORT_API(NNModule) THSNN_ReplicationPad2d_ctor(const int64_t padding, NNAnyModule* outAsAnyModule);
EXPORT_API(NNModule) THSNN_ReplicationPad2d_ctor_tuple(const int64_t padding_left, const int64_t padding_right, const int64_t padding_top, const int64_t padding_bottom, NNAnyModule* outAsAnyModule);
EXPORT_API(Tensor) THSNN_ReplicationPad2d_forward(const NNModule module, const Tensor tensor);
EXPORT_API(NNModule) THSNN_ReplicationPad3d_ctor(const int64_t padding, NNAnyModule* outAsAnyModule);
EXPORT_API(NNModule) THSNN_ReplicationPad3d_ctor_tuple(const int64_t padding_left, const int64_t padding_right, const int64_t padding_top, const int64_t padding_bottom, const int64_t padding_front, const int64_t padding_back, NNAnyModule* outAsAnyModule);
EXPORT_API(Tensor) THSNN_ReplicationPad3d_forward(const NNModule module, const Tensor tensor);

EXPORT_API(NNModule) THSNN_ReflectionPad1d_ctor(const int64_t padding, NNAnyModule* outAsAnyModule);
EXPORT_API(NNModule) THSNN_ReflectionPad1d_ctor_tuple(const int64_t padding_left, const int64_t padding_right, NNAnyModule* outAsAnyModule);
EXPORT_API(Tensor) THSNN_ReflectionPad1d_forward(const NNModule module, const Tensor tensor);
EXPORT_API(NNModule) THSNN_ReflectionPad2d_ctor(const int64_t padding, NNAnyModule* outAsAnyModule);
EXPORT_API(NNModule) THSNN_ReflectionPad2d_ctor_tuple(const int64_t padding_left, const int64_t padding_right, const int64_t padding_top, const int64_t padding_bottom, NNAnyModule* outAsAnyModule);
EXPORT_API(Tensor) THSNN_ReflectionPad2d_forward(const NNModule module, const Tensor tensor);
EXPORT_API(NNModule) THSNN_ReflectionPad3d_ctor(const int64_t padding, NNAnyModule* outAsAnyModule);
EXPORT_API(NNModule) THSNN_ReflectionPad3d_ctor_tuple(const int64_t padding_left, const int64_t padding_right, const int64_t padding_top, const int64_t padding_bottom, const int64_t padding_front, const int64_t padding_back, NNAnyModule* outAsAnyModule);
EXPORT_API(Tensor) THSNN_ReflectionPad3d_forward(const NNModule module, const Tensor tensor);

// Convolution

EXPORT_API(NNModule) THSNN_Conv1d_ctor(const int64_t inputChannel, const int64_t outputChannel, const int64_t kernelSize, const int64_t stride, const int64_t padding, const int64_t dilation, const int64_t paddingMode, const int64_t groups, const bool bias, NNAnyModule* outAsAnyModule);
Expand Down Expand Up @@ -325,12 +289,6 @@ EXPORT_API(Tensor) THSNN_unfold(const Tensor input, const int64_t kernel1, const

EXPORT_API(NNModule) THSNN_Identity_ctor(NNAnyModule* outAsAnyModule);
EXPORT_API(Tensor) THSNN_Identity_forward(const NNModule module, const Tensor tensor);
EXPORT_API(NNModule) THSNN_Linear_ctor(const int64_t input_size, const int64_t output_size, const bool with_bias, NNAnyModule* outAsAnyModule);
EXPORT_API(Tensor) THSNN_Linear_forward(const NNModule module, const Tensor tensor);
EXPORT_API(Tensor) THSNN_Linear_bias(const NNModule module);
EXPORT_API(void) THSNN_Linear_set_bias(const NNModule module, const Tensor tensor);
EXPORT_API(Tensor) THSNN_Linear_weight(const NNModule module);
EXPORT_API(void) THSNN_Linear_set_weight(const NNModule module, const Tensor tensor);

EXPORT_API(Tensor) THSNN_functional_linear(const Tensor input, const Tensor weights, const Tensor bias);
EXPORT_API(Tensor) THSNN_functional_bilinear(const Tensor input1, const Tensor input2, const Tensor weights, const Tensor bias);
Expand Down
Loading