| @@ -377,8 +377,8 @@ namespace Tensorflow.Gradients | |||||
| grad, | grad, | ||||
| op.get_attr_list<int>("ksize"), | op.get_attr_list<int>("ksize"), | ||||
| op.get_attr_list<int>("strides"), | op.get_attr_list<int>("strides"), | ||||
| op.get_attr("padding").ToString(), | |||||
| op.get_attr("data_format").ToString()) | |||||
| op.get_attr<string>("padding"), | |||||
| op.get_attr<string>("data_format")) | |||||
| }; | }; | ||||
| } | } | ||||
| @@ -206,12 +206,11 @@ namespace Tensorflow | |||||
| return result; | return result; | ||||
| } | } | ||||
| internal unsafe int _get_attr_int(string name) | |||||
| internal unsafe long _get_attr_int(string name) | |||||
| { | { | ||||
| Status status = new(); | |||||
| int result; | |||||
| c_api.TF_OperationGetAttrInt(_handle, name, new IntPtr(&result), status); | |||||
| status.Check(true); | |||||
| long result; | |||||
| c_api.TF_OperationGetAttrInt(_handle, name, new IntPtr(&result), tf.Status); | |||||
| tf.Status.Check(true); | |||||
| return result; | return result; | ||||
| } | } | ||||
| @@ -4,11 +4,11 @@ | |||||
| <TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks> | <TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks> | ||||
| <AssemblyName>Tensorflow.Binding</AssemblyName> | <AssemblyName>Tensorflow.Binding</AssemblyName> | ||||
| <RootNamespace>Tensorflow</RootNamespace> | <RootNamespace>Tensorflow</RootNamespace> | ||||
| <TargetTensorFlow>2.10.0</TargetTensorFlow> | |||||
| <Version>0.110.1</Version> | |||||
| <TargetTensorFlow>2.11.0</TargetTensorFlow> | |||||
| <Version>0.110.2</Version> | |||||
| <LangVersion>10.0</LangVersion> | <LangVersion>10.0</LangVersion> | ||||
| <Nullable>enable</Nullable> | <Nullable>enable</Nullable> | ||||
| <Authors>Haiping Chen, Meinrad Recheis, Eli Belash</Authors> | |||||
| <Authors>Haiping Chen, Eli Belash, Yaohui Liu, Meinrad Recheis</Authors> | |||||
| <Company>SciSharp STACK</Company> | <Company>SciSharp STACK</Company> | ||||
| <GeneratePackageOnBuild>False</GeneratePackageOnBuild> | <GeneratePackageOnBuild>False</GeneratePackageOnBuild> | ||||
| <Copyright>Apache 2.0, Haiping Chen $([System.DateTime]::UtcNow.ToString(yyyy))</Copyright> | <Copyright>Apache 2.0, Haiping Chen $([System.DateTime]::UtcNow.ToString(yyyy))</Copyright> | ||||
| @@ -23,7 +23,8 @@ https://tensorflownet.readthedocs.io</Description> | |||||
| <AssemblyVersion>0.110.1.0</AssemblyVersion> | <AssemblyVersion>0.110.1.0</AssemblyVersion> | ||||
| <PackageReleaseNotes> | <PackageReleaseNotes> | ||||
| tf.net 0.110.x and above are based on tensorflow native 2.11.0 | tf.net 0.110.x and above are based on tensorflow native 2.11.0 | ||||
| * RNN, LSTM works. | |||||
| * Support RNN, LSTM model. | |||||
| * Support Transformer model. | |||||
| tf.net 0.100.x and above are based on tensorflow native 2.10.0 | tf.net 0.100.x and above are based on tensorflow native 2.10.0 | ||||
| @@ -42,12 +43,11 @@ https://tensorflownet.readthedocs.io</Description> | |||||
| tf.net 0.10x.x aligns with TensorFlow v2.10.x native library. | tf.net 0.10x.x aligns with TensorFlow v2.10.x native library. | ||||
| tf.net 0.11x.x aligns with TensorFlow v2.11.x native library. | tf.net 0.11x.x aligns with TensorFlow v2.11.x native library. | ||||
| </PackageReleaseNotes> | </PackageReleaseNotes> | ||||
| <FileVersion>0.110.1.0</FileVersion> | |||||
| <FileVersion>0.110.2.0</FileVersion> | |||||
| <PackageLicenseFile>LICENSE</PackageLicenseFile> | <PackageLicenseFile>LICENSE</PackageLicenseFile> | ||||
| <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | ||||
| <PackageOutputPath>packages</PackageOutputPath> | <PackageOutputPath>packages</PackageOutputPath> | ||||
| <SignAssembly>true</SignAssembly> | <SignAssembly>true</SignAssembly> | ||||
| <AssemblyOriginatorKeyFile>Open.snk</AssemblyOriginatorKeyFile> | |||||
| <Platforms>AnyCPU;x64</Platforms> | <Platforms>AnyCPU;x64</Platforms> | ||||
| <PackageId>TensorFlow.NET</PackageId> | <PackageId>TensorFlow.NET</PackageId> | ||||
| <Configurations>Debug;Release;GPU</Configurations> | <Configurations>Debug;Release;GPU</Configurations> | ||||
| @@ -88,6 +88,66 @@ https://tensorflownet.readthedocs.io</Description> | |||||
| <DefineConstants /> | <DefineConstants /> | ||||
| </PropertyGroup> | </PropertyGroup> | ||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard2.0|AnyCPU'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1570,1573,1591,1712,8603,8604,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard2.0|x64'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1570,1573,1591,1712,8603,8604,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|netstandard2.0|AnyCPU'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1570,1573,1591,1712,8603,8604,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|netstandard2.0|x64'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1570,1573,1591,1712,8603,8604,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='GPU|netstandard2.0|AnyCPU'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1570,1573,1591,1712,8603,8604,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='GPU|netstandard2.0|x64'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1570,1573,1591,1712,8603,8604,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net6.0|AnyCPU'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1570,1573,1591,1712,8603,8604,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net6.0|x64'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1570,1573,1591,1712,8603,8604,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net6.0|AnyCPU'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1570,1573,1591,1712,8603,8604,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net6.0|x64'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1570,1573,1591,1712,8603,8604,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='GPU|net6.0|AnyCPU'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1570,1573,1591,1712,8603,8604,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='GPU|net6.0|x64'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1570,1573,1591,1712,8603,8604,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <ItemGroup> | <ItemGroup> | ||||
| <Compile Remove="Distribute\**" /> | <Compile Remove="Distribute\**" /> | ||||
| <Compile Remove="Models\**" /> | <Compile Remove="Models\**" /> | ||||
| @@ -180,8 +180,7 @@ namespace Tensorflow | |||||
| array_ops.stack(end.ToArray()), | array_ops.stack(end.ToArray()), | ||||
| array_ops.stack(strides.ToArray())); | array_ops.stack(strides.ToArray())); | ||||
| return gen_array_ops.strided_slice( | |||||
| this, | |||||
| return array_ops.strided_slice(this, | |||||
| packed_begin, | packed_begin, | ||||
| packed_end, | packed_end, | ||||
| packed_strides, | packed_strides, | ||||
| @@ -44,7 +44,6 @@ namespace Tensorflow.Keras | |||||
| /// <summary> | /// <summary> | ||||
| /// Register the name-activation mapping in this static class. | /// Register the name-activation mapping in this static class. | ||||
| /// </summary> | /// </summary> | ||||
| /// <param name="name"></param> | |||||
| /// <param name="activation"></param> | /// <param name="activation"></param> | ||||
| private static void RegisterActivation(Activation activation) | private static void RegisterActivation(Activation activation) | ||||
| { | { | ||||
| @@ -5,9 +5,6 @@ namespace Tensorflow.Keras.Callbacks; | |||||
| /// <summary> | /// <summary> | ||||
| /// Stop training when a monitored metric has stopped improving. | /// Stop training when a monitored metric has stopped improving. | ||||
| /// </summary> | /// </summary> | ||||
| /// <param name="parameters"></param> | |||||
| /// <param name="monitor"></param> | |||||
| public class EarlyStopping: ICallback | public class EarlyStopping: ICallback | ||||
| { | { | ||||
| int _paitence; | int _paitence; | ||||
| @@ -52,7 +52,7 @@ namespace Tensorflow.Keras.Engine.DataAdapters | |||||
| /// <summary> | /// <summary> | ||||
| /// Convert a Tensor of indices into a dataset of batched indices. | /// Convert a Tensor of indices into a dataset of batched indices. | ||||
| /// </summary> | /// </summary> | ||||
| /// <param name="tensor"></param> | |||||
| /// <param name="indices"></param> | |||||
| /// <returns></returns> | /// <returns></returns> | ||||
| IDatasetV2 slice_batch_indices(Tensor indices) | IDatasetV2 slice_batch_indices(Tensor indices) | ||||
| { | { | ||||
| @@ -10,7 +10,7 @@ namespace Tensorflow.Keras.Engine | |||||
| /// Wraps `call`, applying pre- and post-processing steps. | /// Wraps `call`, applying pre- and post-processing steps. | ||||
| /// </summary> | /// </summary> | ||||
| /// <param name="inputs"></param> | /// <param name="inputs"></param> | ||||
| /// <param name="state"></param> | |||||
| /// <param name="states"></param> | |||||
| /// <param name="training"></param> | /// <param name="training"></param> | ||||
| /// <returns></returns> | /// <returns></returns> | ||||
| public virtual Tensors Apply(Tensors inputs, Tensors states = null, bool? training = false, IOptionalArgs? optional_args = null) | public virtual Tensors Apply(Tensors inputs, Tensors states = null, bool? training = false, IOptionalArgs? optional_args = null) | ||||
| @@ -1,7 +1,5 @@ | |||||
| using System; | using System; | ||||
| using Tensorflow.Keras.Utils; | using Tensorflow.Keras.Utils; | ||||
| using static Tensorflow.Binding; | |||||
| using static Tensorflow.KerasApi; | |||||
| namespace Tensorflow.Keras.Engine | namespace Tensorflow.Keras.Engine | ||||
| { | { | ||||
| @@ -9,14 +7,6 @@ namespace Tensorflow.Keras.Engine | |||||
| { | { | ||||
| Tensors FunctionalConstructionCall(Tensors inputs) | Tensors FunctionalConstructionCall(Tensors inputs) | ||||
| { | { | ||||
| bool mask_arg_passed_by_framework = false; | |||||
| bool training_arg_passed_by_framework = false; | |||||
| Tensor training_value = null; | |||||
| if (training_value == null) | |||||
| { | |||||
| training_arg_passed_by_framework = true; | |||||
| } | |||||
| if (base_layer_utils.needs_keras_history(inputs)) | if (base_layer_utils.needs_keras_history(inputs)) | ||||
| base_layer_utils.create_keras_history(inputs); | base_layer_utils.create_keras_history(inputs); | ||||
| @@ -15,7 +15,7 @@ namespace Tensorflow.Keras.Engine | |||||
| public partial class Model | public partial class Model | ||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// Returns the loss value & metrics values for the model in test mode. | |||||
| /// Returns the loss value and metrics values for the model in test mode. | |||||
| /// </summary> | /// </summary> | ||||
| /// <param name="x"></param> | /// <param name="x"></param> | ||||
| /// <param name="y"></param> | /// <param name="y"></param> | ||||
| @@ -29,7 +29,9 @@ namespace Tensorflow.Keras.Engine | |||||
| /// <summary> | /// <summary> | ||||
| /// The logic for one training step. | /// The logic for one training step. | ||||
| /// </summary> | /// </summary> | ||||
| /// <param name="data"></param> | |||||
| /// <param name="data_handler"></param> | |||||
| /// <param name="x"></param> | |||||
| /// <param name="y"></param> | |||||
| /// <returns></returns> | /// <returns></returns> | ||||
| Dictionary<string, float> train_step(DataHandler data_handler, Tensors x, Tensors y) | Dictionary<string, float> train_step(DataHandler data_handler, Tensors x, Tensors y) | ||||
| { | { | ||||
| @@ -72,8 +72,8 @@ namespace Tensorflow.Keras | |||||
| /// <summary> | /// <summary> | ||||
| /// `Model` groups layers into an object with training and inference features. | /// `Model` groups layers into an object with training and inference features. | ||||
| /// </summary> | /// </summary> | ||||
| /// <param name="input"></param> | |||||
| /// <param name="output"></param> | |||||
| /// <param name="inputs"></param> | |||||
| /// <param name="outputs"></param> | |||||
| /// <returns></returns> | /// <returns></returns> | ||||
| public IModel Model(Tensors inputs, Tensors outputs, string name = null) | public IModel Model(Tensors inputs, Tensors outputs, string name = null) | ||||
| => new Functional(inputs, outputs, name: name); | => new Functional(inputs, outputs, name: name); | ||||
| @@ -1,24 +1,18 @@ | |||||
| using Tensorflow.Keras.Engine; | using Tensorflow.Keras.Engine; | ||||
| using Tensorflow.Keras.ArgsDefinition; | using Tensorflow.Keras.ArgsDefinition; | ||||
| using static Tensorflow.Binding; | |||||
| using static Tensorflow.KerasApi; | |||||
| using System; | using System; | ||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||
| using System.Linq; | using System.Linq; | ||||
| using Tensorflow.Keras.Saving; | using Tensorflow.Keras.Saving; | ||||
| using Tensorflow.Common.Types; | using Tensorflow.Common.Types; | ||||
| /// <summary> | |||||
| /// Base class for attention layers that can be used in sequence DNN/CNN models. | |||||
| ///This file follows the terminology of https://arxiv.org/abs/1706.03762 Figure 2. | |||||
| ///Attention is formed by three tensors: Query, Key and Value. | |||||
| /// </summary> | |||||
| namespace Tensorflow.Keras.Layers | namespace Tensorflow.Keras.Layers | ||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// Base Attention class for Dense networks. | /// Base Attention class for Dense networks. | ||||
| /// This file follows the terminology of https://arxiv.org/abs/1706.03762 Figure 2. | |||||
| /// Attention is formed by three tensors: Query, Key and Value. | |||||
| /// This class is suitable for Dense or CNN networks, and not for RNN networks. | /// This class is suitable for Dense or CNN networks, and not for RNN networks. | ||||
| /// Implementations of attention mechanisms should inherit from this class, and | /// Implementations of attention mechanisms should inherit from this class, and | ||||
| /// reuse the `apply_attention_scores()` method. | /// reuse the `apply_attention_scores()` method. | ||||
| @@ -183,9 +183,6 @@ namespace Tensorflow.Keras.Layers | |||||
| /// <param name="use_bias">Boolean, whether the layer uses a bias vector.</param> | /// <param name="use_bias">Boolean, whether the layer uses a bias vector.</param> | ||||
| /// <param name="kernel_initializer">The name of the initializer for the kernel weights matrix (see keras.initializers).</param> | /// <param name="kernel_initializer">The name of the initializer for the kernel weights matrix (see keras.initializers).</param> | ||||
| /// <param name="bias_initializer">The name of the initializer for the bias vector (see keras.initializers).</param> | /// <param name="bias_initializer">The name of the initializer for the bias vector (see keras.initializers).</param> | ||||
| /// <param name="kernel_regularizer">The name of the regularizer function applied to the kernel weights matrix (see keras.regularizers).</param> | |||||
| /// <param name="bias_regularizer">The name of the regularizer function applied to the bias vector (see keras.regularizers).</param> | |||||
| /// <param name="activity_regularizer">The name of the regularizer function applied to the output of the layer (its "activation") (see keras.regularizers).</param> | |||||
| /// <returns>A tensor of rank 4+ representing activation(conv2d(inputs, kernel) + bias).</returns> | /// <returns>A tensor of rank 4+ representing activation(conv2d(inputs, kernel) + bias).</returns> | ||||
| public ILayer Conv2D(int filters, | public ILayer Conv2D(int filters, | ||||
| Shape kernel_size = null, | Shape kernel_size = null, | ||||
| @@ -2,7 +2,6 @@ | |||||
| using Tensorflow.Keras.Engine; | using Tensorflow.Keras.Engine; | ||||
| using Tensorflow.Keras.Saving; | using Tensorflow.Keras.Saving; | ||||
| using Tensorflow.Common.Types; | using Tensorflow.Common.Types; | ||||
| using Tensorflow.Common.Types; | |||||
| namespace Tensorflow.Keras.Layers.Reshaping | namespace Tensorflow.Keras.Layers.Reshaping | ||||
| { | { | ||||
| @@ -242,10 +242,9 @@ namespace Tensorflow.Keras.Layers.Rnn | |||||
| /// | /// | ||||
| /// </summary> | /// </summary> | ||||
| /// <param name="inputs"></param> | /// <param name="inputs"></param> | ||||
| /// <param name="mask">Binary tensor of shape [batch_size, timesteps] indicating whether a given timestep should be masked</param> | |||||
| /// <param name="training"></param> | |||||
| /// <param name="initial_state">List of initial state tensors to be passed to the first call of the cell</param> | /// <param name="initial_state">List of initial state tensors to be passed to the first call of the cell</param> | ||||
| /// <param name="constants">List of constant tensors to be passed to the cell at each timestep</param> | |||||
| /// <param name="training"></param> | |||||
| /// <param name="optional_args"></param> | |||||
| /// <returns></returns> | /// <returns></returns> | ||||
| /// <exception cref="ValueError"></exception> | /// <exception cref="ValueError"></exception> | ||||
| /// <exception cref="NotImplementedException"></exception> | /// <exception cref="NotImplementedException"></exception> | ||||
| @@ -6,7 +6,7 @@ namespace Tensorflow.Keras.Preprocessings | |||||
| public partial class DatasetUtils | public partial class DatasetUtils | ||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// Potentially restict samples & labels to a training or validation split. | |||||
| /// Potentially restict samples and labels to a training or validation split. | |||||
| /// </summary> | /// </summary> | ||||
| /// <param name="samples"></param> | /// <param name="samples"></param> | ||||
| /// <param name="labels"></param> | /// <param name="labels"></param> | ||||
| @@ -693,7 +693,6 @@ namespace Tensorflow.Keras.Saving | |||||
| /// Infers input shape of layer from SavedModel functions. | /// Infers input shape of layer from SavedModel functions. | ||||
| /// </summary> | /// </summary> | ||||
| /// <param name="layer_node_id"></param> | /// <param name="layer_node_id"></param> | ||||
| /// <param name="convert_to_shapes"></param> | |||||
| /// <returns></returns> | /// <returns></returns> | ||||
| private TensorSpec _infer_inputs(int layer_node_id) | private TensorSpec _infer_inputs(int layer_node_id) | ||||
| { | { | ||||
| @@ -7,7 +7,7 @@ | |||||
| <Nullable>enable</Nullable> | <Nullable>enable</Nullable> | ||||
| <RootNamespace>Tensorflow.Keras</RootNamespace> | <RootNamespace>Tensorflow.Keras</RootNamespace> | ||||
| <Platforms>AnyCPU;x64</Platforms> | <Platforms>AnyCPU;x64</Platforms> | ||||
| <Version>0.11.1</Version> | |||||
| <Version>0.11.2</Version> | |||||
| <Authors>Haiping Chen</Authors> | <Authors>Haiping Chen</Authors> | ||||
| <Product>Keras for .NET</Product> | <Product>Keras for .NET</Product> | ||||
| <Copyright>Apache 2.0, Haiping Chen 2023</Copyright> | <Copyright>Apache 2.0, Haiping Chen 2023</Copyright> | ||||
| @@ -26,7 +26,8 @@ | |||||
| * Add Subtract layer | * Add Subtract layer | ||||
| * Text preprocessing | * Text preprocessing | ||||
| * Preprocessing.timeseries_dataset_from_array | * Preprocessing.timeseries_dataset_from_array | ||||
| * Fixed memory leak for YOLOv3 model.</PackageReleaseNotes> | |||||
| * Fixed memory leak for YOLOv3 model. | |||||
| * Support RNN and LSTM models</PackageReleaseNotes> | |||||
| <Description>Keras for .NET | <Description>Keras for .NET | ||||
| Keras is an API designed for human beings, not machines. Keras follows best practices for reducing cognitive load: it offers consistent & simple APIs, it minimizes the number of user actions required for common use cases, and it provides clear & actionable error messages.</Description> | Keras is an API designed for human beings, not machines. Keras follows best practices for reducing cognitive load: it offers consistent & simple APIs, it minimizes the number of user actions required for common use cases, and it provides clear & actionable error messages.</Description> | ||||
| @@ -36,10 +37,10 @@ Keras is an API designed for human beings, not machines. Keras follows best prac | |||||
| <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | ||||
| <PackageOutputPath>packages</PackageOutputPath> | <PackageOutputPath>packages</PackageOutputPath> | ||||
| <RepositoryType>Git</RepositoryType> | <RepositoryType>Git</RepositoryType> | ||||
| <SignAssembly>true</SignAssembly> | |||||
| <SignAssembly>False</SignAssembly> | |||||
| <AssemblyOriginatorKeyFile>Open.snk</AssemblyOriginatorKeyFile> | <AssemblyOriginatorKeyFile>Open.snk</AssemblyOriginatorKeyFile> | ||||
| <AssemblyVersion>0.11.1.0</AssemblyVersion> | |||||
| <FileVersion>0.11.1.0</FileVersion> | |||||
| <AssemblyVersion>0.11.2.0</AssemblyVersion> | |||||
| <FileVersion>0.11.2.0</FileVersion> | |||||
| <PackageLicenseFile>LICENSE</PackageLicenseFile> | <PackageLicenseFile>LICENSE</PackageLicenseFile> | ||||
| <Configurations>Debug;Release;GPU</Configurations> | <Configurations>Debug;Release;GPU</Configurations> | ||||
| </PropertyGroup> | </PropertyGroup> | ||||
| @@ -70,6 +71,74 @@ Keras is an API designed for human beings, not machines. Keras follows best prac | |||||
| <DefineConstants /> | <DefineConstants /> | ||||
| </PropertyGroup> | </PropertyGroup> | ||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|netstandard2.0|AnyCPU'"> | |||||
| <Optimize>True</Optimize> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1573,1591,1712,8602,8603,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net6.0|AnyCPU'"> | |||||
| <Optimize>True</Optimize> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1573,1591,1712,8602,8603,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|netstandard2.0|x64'"> | |||||
| <Optimize>True</Optimize> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1573,1591,1712,8602,8603,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net6.0|x64'"> | |||||
| <Optimize>True</Optimize> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1573,1591,1712,8602,8603,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard2.0|AnyCPU'"> | |||||
| <Optimize>False</Optimize> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1573,1591,1712,8602,8603,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net6.0|AnyCPU'"> | |||||
| <Optimize>False</Optimize> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1573,1591,1712,8602,8603,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard2.0|x64'"> | |||||
| <Optimize>False</Optimize> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1573,1591,1712,8602,8603,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net6.0|x64'"> | |||||
| <Optimize>False</Optimize> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1573,1591,1712,8602,8603,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='GPU|netstandard2.0|AnyCPU'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1573,1591,1712,8602,8603,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='GPU|netstandard2.0|x64'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1573,1591,1712,8602,8603,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='GPU|net6.0|AnyCPU'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1573,1591,1712,8602,8603,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='GPU|net6.0|x64'"> | |||||
| <WarningLevel>1</WarningLevel> | |||||
| <NoWarn>$(NoWarn),1573,1591,1712,8602,8603,8625,CS0612</NoWarn> | |||||
| </PropertyGroup> | |||||
| <ItemGroup> | <ItemGroup> | ||||
| <PackageReference Include="HDF5-CSharp" Version="1.17.0" /> | <PackageReference Include="HDF5-CSharp" Version="1.17.0" /> | ||||
| <PackageReference Include="MethodBoundaryAspect.Fody" Version="2.0.148" /> | <PackageReference Include="MethodBoundaryAspect.Fody" Version="2.0.148" /> | ||||