Browse Source

compiled.

tags/v0.12
Oceania2018 6 years ago
parent
commit
6eeb4e1992
4 changed files with 13 additions and 12 deletions
  1. +1
    -1
      src/TensorFlowNET.Core/TensorFlowNET.Core.csproj
  2. +10
    -9
      src/TensorFlowNET.Core/Tensors/Tensor.Creation.cs
  3. +1
    -1
      src/TensorFlowNET.Core/Tensors/Tensor.cs
  4. +1
    -1
      test/TensorFlowNET.Examples/ImageProcessing/DigitRecognitionNN.cs

+ 1
- 1
src/TensorFlowNET.Core/TensorFlowNET.Core.csproj View File

@@ -35,7 +35,7 @@ Docs: https://tensorflownet.readthedocs.io</Description>
13. Fix default graph and operation issue when import model.
14. Fix TF_String endcode and decode.
15. Fix Tensor memory leak.</PackageReleaseNotes>
<LangVersion>7.2</LangVersion>
<LangVersion>7.3</LangVersion>
<FileVersion>0.10.7.2</FileVersion>
<PackageLicenseFile>LICENSE</PackageLicenseFile>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>


+ 10
- 9
src/TensorFlowNET.Core/Tensors/Tensor.Creation.cs View File

@@ -486,7 +486,7 @@ namespace Tensorflow
{
if (tensorDType == TF_DataType.TF_STRING && nd.dtype.Name == "Byte")
{
var buffer = nd.Data<byte>();
var buffer = nd.ToArray<byte>();
var size = c_api.TF_StringEncodedSize((UIntPtr)buffer.Length);
var handle = TF_AllocateTensor(TF_DataType.TF_STRING, IntPtr.Zero, 0, (UIntPtr)((ulong)size + 8));

@@ -524,29 +524,30 @@ namespace Tensorflow
switch (nd.dtype.Name)
{
case "Boolean":
var boolVals = Array.ConvertAll(nd1.Data<bool>(), x => Convert.ToByte(x));
var boolVals = Array.ConvertAll(nd1.ToArray<bool>(), x => Convert.ToByte(x));
Marshal.Copy(boolVals, 0, dotHandle, nd.size);
break;
case "Int16":
Marshal.Copy(nd1.Data<short>(), 0, dotHandle, nd.size);
Marshal.Copy(nd1.ToArray<short>(), 0, dotHandle, nd.size);
break;
case "Int32":
Marshal.Copy(nd1.Data<int>(), 0, dotHandle, nd.size);
Marshal.Copy(nd1.ToArray<int>(), 0, dotHandle, nd.size);
break;
case "Int64":
Marshal.Copy(nd1.Data<long>(), 0, dotHandle, nd.size);
Marshal.Copy(nd1.ToArray<long>(), 0, dotHandle, nd.size);
break;
case "Single":
Marshal.Copy(nd1.Data<float>(), 0, dotHandle, nd.size);
Marshal.Copy(nd1.ToArray<float>(), 0, dotHandle, nd.size);
break;
case "Double":
Marshal.Copy(nd1.Data<double>(), 0, dotHandle, nd.size);
Marshal.Copy(nd1.ToArray<double>(), 0, dotHandle, nd.size);
break;
case "Byte":
Marshal.Copy(nd1.Data<byte>(), 0, dotHandle, nd.size);
Marshal.Copy(nd1.ToArray<byte>(), 0, dotHandle, nd.size);
break;
case "String":
return new Tensor(UTF8Encoding.UTF8.GetBytes(nd.Data<string>(0)), TF_DataType.TF_STRING);
throw new NotImplementedException($"Marshal.Copy failed for {nd.dtype.Name}.");
//return new Tensor(UTF8Encoding.UTF8.GetBytes(nd.ToArray<string>(0)), TF_DataType.TF_STRING);
default:
throw new NotImplementedException($"Marshal.Copy failed for {nd.dtype.Name}.");
}


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

@@ -196,7 +196,7 @@ namespace Tensorflow
// [offset1, offset2,...,offsetn, s1size, s1bytes, s2size, s2bytes,...,snsize,snbytes]
//
long size = 1;
foreach (var s in TensorShape.Dimensions)
foreach (var s in TensorShape.dims)
size *= s;

var buffer = new byte[size][];


+ 1
- 1
test/TensorFlowNET.Examples/ImageProcessing/DigitRecognitionNN.cs View File

@@ -127,7 +127,7 @@ namespace TensorFlowNET.Examples
public void Train(Session sess)
{
// Number of training iterations in each epoch
var num_tr_iter = mnist.Train.Labels.len / batch_size;
var num_tr_iter = mnist.Train.Labels.shape[0] / batch_size;

var init = tf.global_variables_initializer();
sess.run(init);


Loading…
Cancel
Save