mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-04 04:07:22 +00:00
comment out 16-bit float models in C# (#351)
This commit is contained in:
parent
6f30bec040
commit
0a21226b09
1 changed files with 37 additions and 5 deletions
|
|
@ -213,6 +213,12 @@ namespace Microsoft.ML.OnnxRuntime.Tests
|
|||
[Fact]
|
||||
private void TestPreTrainedModelsOpset7And8()
|
||||
{
|
||||
// 16-bit float not supported type in C#.
|
||||
var skipModels = new[] {
|
||||
"fp16_inception_v1",
|
||||
"fp16_shufflenet",
|
||||
"fp16_tiny_yolov2" };
|
||||
|
||||
var opsets = new[] { "opset7", "opset8" };
|
||||
foreach (var opset in opsets)
|
||||
{
|
||||
|
|
@ -221,6 +227,10 @@ namespace Microsoft.ML.OnnxRuntime.Tests
|
|||
foreach (var modelDir in modelRoot.EnumerateDirectories())
|
||||
{
|
||||
String onnxModelFileName = null;
|
||||
|
||||
if (skipModels.Contains(modelDir.Name))
|
||||
continue;
|
||||
|
||||
try
|
||||
{
|
||||
var onnxModelNames = modelDir.GetFiles("*.onnx");
|
||||
|
|
@ -247,8 +257,11 @@ namespace Microsoft.ML.OnnxRuntime.Tests
|
|||
if (innodedims[i] < 0)
|
||||
innodedims[i] = -1 * innodedims[i];
|
||||
}
|
||||
var dataIn = LoadTensorFromFilePb(Path.Combine(cwd, opset, modelDir.Name, "test_data_set_0", "input_0.pb"));
|
||||
var dataOut = LoadTensorFromFilePb(Path.Combine(cwd, opset, modelDir.Name, "test_data_set_0", "output_0.pb"));
|
||||
|
||||
var testRoot = new DirectoryInfo(Path.Combine(cwd, opset, modelDir.Name));
|
||||
var testData = testRoot.EnumerateDirectories("test_data*").First();
|
||||
var dataIn = LoadTensorFromFilePb(Path.Combine(cwd, opset, modelDir.Name, testData.ToString(), "input_0.pb"));
|
||||
var dataOut = LoadTensorFromFilePb(Path.Combine(cwd, opset, modelDir.Name, testData.ToString(), "output_0.pb"));
|
||||
var tensorIn = new DenseTensor<float>(dataIn, innodedims);
|
||||
var nov = new List<NamedOnnxValue>();
|
||||
nov.Add(NamedOnnxValue.CreateFromTensor<float>(innodename, tensorIn));
|
||||
|
|
@ -473,6 +486,23 @@ namespace Microsoft.ML.OnnxRuntime.Tests
|
|||
session.Dispose();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
private void TestGpu()
|
||||
{
|
||||
// TODO: execute based on test pool directly (cpu or gpu)
|
||||
var gpu = Environment.GetEnvironmentVariable("TESTONGPU");
|
||||
var tuple = (gpu != null) ? OpenSessionSqueezeNet(Int32.Parse(gpu)) : OpenSessionSqueezeNet();
|
||||
var session = tuple.Item1;
|
||||
var inputData = tuple.Item2;
|
||||
var tensor = tuple.Item3;
|
||||
var inputMeta = session.InputMetadata;
|
||||
var container = new List<NamedOnnxValue>();
|
||||
container.Add(NamedOnnxValue.CreateFromTensor<float>("input", tensor));
|
||||
var ex = Assert.Throws<OnnxRuntimeException>(() => session.Run(container));
|
||||
Assert.Equal("[ErrorCode:InvalidArgument] Missing required inputs: data_0", ex.Message);
|
||||
session.Dispose();
|
||||
}
|
||||
|
||||
[DllImport("kernel32", SetLastError = true)]
|
||||
static extern IntPtr LoadLibrary(string lpFileName);
|
||||
|
||||
|
|
@ -501,7 +531,7 @@ namespace Microsoft.ML.OnnxRuntime.Tests
|
|||
|
||||
var hModule = LoadLibrary(module);
|
||||
foreach (var ep in entryPointNames)
|
||||
{
|
||||
{
|
||||
var x = GetProcAddress(hModule, ep);
|
||||
Assert.False(x == UIntPtr.Zero, $"Entrypoint {ep} not found in module {module}");
|
||||
}
|
||||
|
|
@ -537,10 +567,12 @@ namespace Microsoft.ML.OnnxRuntime.Tests
|
|||
return floatArr;
|
||||
}
|
||||
|
||||
static Tuple<InferenceSession, float[], DenseTensor<float>, float[]> OpenSessionSqueezeNet()
|
||||
static Tuple<InferenceSession, float[], DenseTensor<float>, float[]> OpenSessionSqueezeNet(int? cudaDeviceId = null)
|
||||
{
|
||||
string modelPath = Path.Combine(Directory.GetCurrentDirectory(), "squeezenet.onnx");
|
||||
var session = new InferenceSession(modelPath);
|
||||
var session = (cudaDeviceId.HasValue)
|
||||
? new InferenceSession(modelPath, SessionOptions.MakeSessionOptionWithCudaProvider(cudaDeviceId.Value))
|
||||
: new InferenceSession(modelPath);
|
||||
float[] inputData = LoadTensorFromFile(@"bench.in");
|
||||
float[] expectedOutput = LoadTensorFromFile(@"bench.expected_out");
|
||||
var inputMeta = session.InputMetadata;
|
||||
|
|
|
|||
Loading…
Reference in a new issue