Browse Source

c_api: TF_NewTensor now allows pinned managed objects to be passed down to TF (needed different deallocator arg type)

tags/v0.10
Meinrad Recheis 6 years ago
parent
commit
4bc66027e2
2 changed files with 8 additions and 2 deletions
  1. +7
    -1
      src/TensorFlowNET.Core/APIs/c_api.cs
  2. +1
    -1
      src/TensorFlowNET.Core/Tensors/c_api.tensor.cs

+ 7
- 1
src/TensorFlowNET.Core/APIs/c_api.cs View File

@@ -53,7 +53,13 @@ namespace Tensorflow
return handle == IntPtr.Zero ? String.Empty : Marshal.PtrToStringAnsi(handle);
}

public delegate void Deallocator(IntPtr data, IntPtr size, ref bool deallocator);
public delegate void Deallocator(IntPtr data, IntPtr size, ref DeallocatorArgs args);

public struct DeallocatorArgs
{
public bool deallocator_called;
public IntPtr gc_handle;
}

[DllImport(TensorFlowLibName)]
public static unsafe extern IntPtr TF_Version();


+ 1
- 1
src/TensorFlowNET.Core/Tensors/c_api.tensor.cs View File

@@ -71,7 +71,7 @@ namespace Tensorflow
/// <param name="deallocator_arg"></param>
/// <returns></returns>
[DllImport(TensorFlowLibName)]
public static extern IntPtr TF_NewTensor(TF_DataType dataType, long[] dims, int num_dims, IntPtr data, UIntPtr len, Deallocator deallocator, ref bool deallocator_arg);
public static extern IntPtr TF_NewTensor(TF_DataType dataType, long[] dims, int num_dims, IntPtr data, UIntPtr len, Deallocator deallocator, ref DeallocatorArgs deallocator_arg);

/// <summary>
/// Return the number of dimensions that the tensor has.


Loading…
Cancel
Save