diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-04-11 15:11:07 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 15:11:07 +0000 |
| commit | df0ac50752ab5a33cc4625134f2850d0782e9edd (patch) | |
| tree | 6d1d443d97da4d222a381d570931f02924126500 | |
| parent | 7a7039ea059cd82e79cc41c0a2f5647f15f0fa28 (diff) | |
automatic import of python-params-flow
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-params-flow.spec | 186 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 188 insertions, 0 deletions
@@ -0,0 +1 @@ +/params-flow-0.8.2.tar.gz diff --git a/python-params-flow.spec b/python-params-flow.spec new file mode 100644 index 0000000..88e65dd --- /dev/null +++ b/python-params-flow.spec @@ -0,0 +1,186 @@ +%global _empty_manifest_terminate_build 0 +Name: python-params-flow +Version: 0.8.2 +Release: 1 +Summary: Tensorflow Keras utilities for reducing boilerplate code. +License: MIT +URL: https://github.com/kpe/params-flow/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a9/95/ff49f5ebd501f142a6f0aaf42bcfd1c192dc54909d1d9eb84ab031d46056/params-flow-0.8.2.tar.gz +BuildArch: noarch + + +%description +|Build Status| |Coverage Status| |Version Status| |Python Versions| |Downloads| +`params-flow`_ provides an alternative style for defining your `Keras`_ model +or layer configuration in order to reduce the boilerplate code related to +passing and (de)serializing your model/layer configuration arguments. +`params-flow`_ encourages this: + import params_flow as pf + class MyDenseLayer(pf.Layer): # using params_flow Layer/Model instead of Keras ones + class Params(pf.Layer.Params): # extend one or more base Params configurations + num_outputs = None # declare all configuration arguments + activation = "gelu" # provide or override super() defaults + # do not define an __init__() + def build(self, in_shape): + self.kernel = self.add_variable("kernel", + [int(in_shape[-1]), + self.params.num_outputs]) # access config arguments +which would be sufficient to pass the right configuration arguments to the +super layer/model, as well as take care of (de)serialization, so you can concentrate +on the ``build()`` or ``call()`` implementations, instead of writing boilerplate +code like this: + from tf.keras.layers import Layer + class MyDenseLayer(Layer): + def __init__(self, + num_outputs, # put all of the layer configuration in the constructor + activation = "gelu", # provide defaults + **kwargs): # allow base layer configuration to be passed to super + self.num_outputs = num_outputs + self.activation = activation + super().__init__(**kwargs) + def build(self, in_shape): + self.kernel = self.add_variable("kernel", + [int(in_shape[-1]), + self.num_outputs]) # access config arguments + def get_config(self): # serialize layer configuration, __init__() is the deserializer + config = { + 'num_outputs': self.num_outputs, + 'activation': self.activation + } + base_config = super().get_config() + return dict(list(base_config.items())) + list(config.items()) + +%package -n python3-params-flow +Summary: Tensorflow Keras utilities for reducing boilerplate code. +Provides: python-params-flow +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-params-flow +|Build Status| |Coverage Status| |Version Status| |Python Versions| |Downloads| +`params-flow`_ provides an alternative style for defining your `Keras`_ model +or layer configuration in order to reduce the boilerplate code related to +passing and (de)serializing your model/layer configuration arguments. +`params-flow`_ encourages this: + import params_flow as pf + class MyDenseLayer(pf.Layer): # using params_flow Layer/Model instead of Keras ones + class Params(pf.Layer.Params): # extend one or more base Params configurations + num_outputs = None # declare all configuration arguments + activation = "gelu" # provide or override super() defaults + # do not define an __init__() + def build(self, in_shape): + self.kernel = self.add_variable("kernel", + [int(in_shape[-1]), + self.params.num_outputs]) # access config arguments +which would be sufficient to pass the right configuration arguments to the +super layer/model, as well as take care of (de)serialization, so you can concentrate +on the ``build()`` or ``call()`` implementations, instead of writing boilerplate +code like this: + from tf.keras.layers import Layer + class MyDenseLayer(Layer): + def __init__(self, + num_outputs, # put all of the layer configuration in the constructor + activation = "gelu", # provide defaults + **kwargs): # allow base layer configuration to be passed to super + self.num_outputs = num_outputs + self.activation = activation + super().__init__(**kwargs) + def build(self, in_shape): + self.kernel = self.add_variable("kernel", + [int(in_shape[-1]), + self.num_outputs]) # access config arguments + def get_config(self): # serialize layer configuration, __init__() is the deserializer + config = { + 'num_outputs': self.num_outputs, + 'activation': self.activation + } + base_config = super().get_config() + return dict(list(base_config.items())) + list(config.items()) + +%package help +Summary: Development documents and examples for params-flow +Provides: python3-params-flow-doc +%description help +|Build Status| |Coverage Status| |Version Status| |Python Versions| |Downloads| +`params-flow`_ provides an alternative style for defining your `Keras`_ model +or layer configuration in order to reduce the boilerplate code related to +passing and (de)serializing your model/layer configuration arguments. +`params-flow`_ encourages this: + import params_flow as pf + class MyDenseLayer(pf.Layer): # using params_flow Layer/Model instead of Keras ones + class Params(pf.Layer.Params): # extend one or more base Params configurations + num_outputs = None # declare all configuration arguments + activation = "gelu" # provide or override super() defaults + # do not define an __init__() + def build(self, in_shape): + self.kernel = self.add_variable("kernel", + [int(in_shape[-1]), + self.params.num_outputs]) # access config arguments +which would be sufficient to pass the right configuration arguments to the +super layer/model, as well as take care of (de)serialization, so you can concentrate +on the ``build()`` or ``call()`` implementations, instead of writing boilerplate +code like this: + from tf.keras.layers import Layer + class MyDenseLayer(Layer): + def __init__(self, + num_outputs, # put all of the layer configuration in the constructor + activation = "gelu", # provide defaults + **kwargs): # allow base layer configuration to be passed to super + self.num_outputs = num_outputs + self.activation = activation + super().__init__(**kwargs) + def build(self, in_shape): + self.kernel = self.add_variable("kernel", + [int(in_shape[-1]), + self.num_outputs]) # access config arguments + def get_config(self): # serialize layer configuration, __init__() is the deserializer + config = { + 'num_outputs': self.num_outputs, + 'activation': self.activation + } + base_config = super().get_config() + return dict(list(base_config.items())) + list(config.items()) + +%prep +%autosetup -n params-flow-0.8.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-params-flow -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.2-1 +- Package Spec generated @@ -0,0 +1 @@ +6be1c75d140491fb9b17644ae22867f0 params-flow-0.8.2.tar.gz |
