| @@ -0,0 +1,31 @@ | |||||
| using BenchmarkDotNet.Attributes; | |||||
| using System; | |||||
| using System.Collections.Generic; | |||||
| using System.IO; | |||||
| using System.Linq; | |||||
| using System.Reflection; | |||||
| using System.Text; | |||||
| using System.Threading.Tasks; | |||||
| namespace Tensorflow.Benchmark.Leak | |||||
| { | |||||
| public class SavedModelCleanup | |||||
| { | |||||
| [Benchmark] | |||||
| public void Run() | |||||
| { | |||||
| var modelDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); | |||||
| var ClassifierModelPath = Path.Combine(modelDir, "Leak", "TestModel", "saved_model"); | |||||
| for (var i = 0; i < 1000; i++) | |||||
| { | |||||
| var session = Session.LoadFromSavedModel(ClassifierModelPath); | |||||
| session.graph.Exit(); | |||||
| session.graph.Dispose(); | |||||
| session.Dispose(); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -44,4 +44,20 @@ | |||||
| <ProjectReference Include="..\TensorFlowNET.Keras\Tensorflow.Keras.csproj" /> | <ProjectReference Include="..\TensorFlowNET.Keras\Tensorflow.Keras.csproj" /> | ||||
| </ItemGroup> | </ItemGroup> | ||||
| <ItemGroup> | |||||
| <Folder Include="Leak\TestModel\saved_model\assets\" /> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <None Update="Leak\TestModel\saved_model\saved_model.pb"> | |||||
| <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | |||||
| </None> | |||||
| <None Update="Leak\TestModel\saved_model\variables\variables.data-00000-of-00001"> | |||||
| <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | |||||
| </None> | |||||
| <None Update="Leak\TestModel\saved_model\variables\variables.index"> | |||||
| <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | |||||
| </None> | |||||
| </ItemGroup> | |||||
| </Project> | </Project> | ||||