From 4446c02b8a277325d7b145554b301919121902c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Louf?= Date: Mon, 7 Oct 2019 12:04:05 +0200 Subject: [PATCH] add wireframe for seq2seq model --- transformers/modeling_seq2seq.py | 37 +++++++++++++++++++++ transformers/tests/modeling_seq2seq_test.py | 23 +++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 transformers/modeling_seq2seq.py create mode 100644 transformers/tests/modeling_seq2seq_test.py diff --git a/transformers/modeling_seq2seq.py b/transformers/modeling_seq2seq.py new file mode 100644 index 0000000000..990f35ffed --- /dev/null +++ b/transformers/modeling_seq2seq.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# Copyright 2018 The HuggingFace Inc. team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" Conditional generation class. """ + + +class Seq2SeqModel(object): + def __init__(self): + # need to use from_pretrained to initialize + raise NotImplementedError + + @classmethod + def from_pretrained(cls, encoder, decoder): + # Here we should call AutoModel to initialize the models depending + # on the pretrained models taken as an input. + # For a first iteration we only work with Bert. + raise NotImplementedError + + def __call__(self): + # allows to call an instance of the class + # model = Seq2Seq(encode='bert', decoder='bert') + raise NotImplementedError + + def process(self): + # alternative API to __call__ it is more explicit. + raise NotImplementedError diff --git a/transformers/tests/modeling_seq2seq_test.py b/transformers/tests/modeling_seq2seq_test.py new file mode 100644 index 0000000000..1866dc10af --- /dev/null +++ b/transformers/tests/modeling_seq2seq_test.py @@ -0,0 +1,23 @@ +# coding=utf-8 +# Copyright 2018 The Google AI Language Team Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import unittest + + +class Seq2SeqTest(unittest.TestCase): + raise NotImplementedError + + +def __main__(): + unittest.main()