Files
paddlepaddle--paddle/paddle/fluid/inference/goapi/config_test.go
T
2026-07-13 12:40:42 +08:00

129 lines
3.7 KiB
Go

// Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package paddle
import "testing"
func TestNewConfig(t *testing.T) {
config := NewConfig()
config.SetProgFile("model")
config.SetParamsFile("params")
config.SetOptimCacheDir("cache")
config.DisableFCPadding()
t.Logf("UseFcPadding:%+v", config.UseFcPadding())
// It will break when we have no xpu env.
// config.EnableXpu(100)
// t.Logf("EnableXpu, UseXpu:%+v ", config.UseXpu())
config.SwitchIrOptim(true)
t.Logf("IrOptim:%+v", config.IrOptim())
config.EnableUseGpu(100, 0)
t.Logf("use_gpu:%+v, gpu_id:%+v", config.UseGpu(), config.GpuDeviceId())
t.Logf("MemoryPoolInitSizeMb:%+v, FractionOfGpuMemoryForPool:%+v", config.MemoryPoolInitSizeMb(), config.FractionOfGpuMemoryForPool())
config.EnableTensorRtEngine(1024, 16, 3, PrecisionFloat32, false, false)
t.Logf("TensorRtEngineEnabled:%+v", config.TensorRtEngineEnabled())
minInputShape := map[string][]int32{
"image": []int32{-1, 3, 100, 100},
"shape": []int32{-1, 2},
}
maxInputShape := map[string][]int32{
"image": []int32{-1, 3, 608, 608},
"shape": []int32{-1, 2},
}
optInputShape := map[string][]int32{
"image": []int32{-1, 3, 406, 406},
"shape": []int32{-1, 2},
}
config.SetTRTDynamicShapeInfo(minInputShape, maxInputShape, optInputShape, false)
config.EnableVarseqlen()
t.Logf("TensorrtOssEnabled:%+v", config.TensorrtOssEnabled())
config.EnableTensorRtDLA(0)
t.Logf("TensorrtDlaEnabled:%+v", config.TensorrtDlaEnabled())
config.DisableTensorRtOPs([]string{"mul", "fc"})
config.EnableGpuMultiStream()
t.Logf("ThreadLocalStreamEnabled:%+v", config.ThreadLocalStreamEnabled())
config.SwitchIrDebug(false)
config.EnableONEDNN()
config.EnableMemoryOptim(true)
t.Logf("MemoryOptimEnabled:%+v", config.MemoryOptimEnabled())
config.EnableProfile()
t.Logf("ProfileEnabled:%+v", config.ProfileEnabled())
config.DisableGlogInfo()
t.Logf("GlogInfoDisabled:%+v", config.GlogInfoDisabled())
t.Logf("IsValid:%+v", config.IsValid())
config.AppendPass("test_pass")
t.Logf("After AppendPass, AllPasses:%+v", config.AllPasses())
config.DeletePass("test_pass")
t.Logf("After DeletePass, AllPasses:%+v", config.AllPasses())
t.Log(config.Summary())
}
func TestOnednn(t *testing.T) {
config := NewConfig()
config.SetModelDir("modelDir")
t.Log(config.ModelDir())
config.EnableONEDNN()
t.Logf("OnednnEnabled:%+v", config.OnednnEnabled())
config.SetOnednnCacheCapacity(4)
config.SetCpuMathLibraryNumThreads(4)
t.Logf("CpuMathLibraryNumThreads:%+v", config.CpuMathLibraryNumThreads())
config.SetONEDNNOp([]string{"fc", "conv"})
config.EnableOnednnBfloat16()
t.Logf("OnednnBfloat16Enabled:%+v", config.OnednnBfloat16Enabled())
config.SetBfloat16Op([]string{"fc", "mul"})
}
func TestONNXRuntime(t *testing.T) {
config := NewConfig()
config.SetModelDir("modelDir")
t.Log(config.ModelDir())
config.EnableONNXRuntime()
t.Logf("ONNXRuntimeEnabled:%+v", config.ONNXRuntimeEnabled())
config.DisableONNXRuntime()
t.Logf("ONNXRuntimeEnabled:%+v", config.ONNXRuntimeEnabled())
config.EnableORTOptimization()
config.SetCpuMathLibraryNumThreads(4)
t.Logf("CpuMathLibraryNumThreads:%+v", config.CpuMathLibraryNumThreads())
}