mirror of https://github.com/kendryte/nncase.git
Feature/gem5 (#1157)
* layernrom and conv2d support float16 * update pip in cifix/transpose_default_perm
parent
aa69f576ce
commit
3331d2d84d
|
@ -245,7 +245,9 @@ jobs:
|
|||
cache-dependency-path: '**/requirements.test.txt'
|
||||
|
||||
- name: Install Python Packages
|
||||
run: pip install -r requirements.test.txt
|
||||
run:
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.test.txt
|
||||
|
||||
- name: Create Test Environment
|
||||
run: mkdir test_results
|
||||
|
|
|
@ -74,6 +74,7 @@
|
|||
<PackageVersion Include="Xunit.DependencyInjection" Version="8.3.0" />
|
||||
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.0" />
|
||||
<PackageVersion Include="xunit.v3.assert" Version="0.1.1-pre.239" />
|
||||
<PackageVersion Include="Razor.Templating.Core" Version="1.9.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="StyleCop.Analyzers">
|
||||
|
|
|
@ -56,7 +56,7 @@ public sealed partial class Conv2D : Op
|
|||
/// <summary>
|
||||
/// Gets FusedClamp.
|
||||
/// </summary>
|
||||
public static readonly ParameterInfo FusedClamp = new(typeof(Conv2D), 7, "fused_clamp", HasShape(new Shape(2)) & HasDataType(DataTypes.Float32));
|
||||
public static readonly ParameterInfo FusedClamp = new(typeof(Conv2D), 7, "fused_clamp", HasShape(new Shape(2)) & IsFloat());
|
||||
|
||||
public PadMode PadMode { get; }
|
||||
|
||||
|
|
|
@ -42,7 +42,8 @@ public class Conv2DEvaluator : IEvaluator<Conv2D>, ITypeInferencer<Conv2D>, ICos
|
|||
new long[] { kernelShape[2], kernelShape[3] },
|
||||
ToOnnxPadFormat(pad),
|
||||
stride);
|
||||
return OrtKI.Clip(result, fusedClamp[0], fusedClamp[1]).ToValue();
|
||||
var outType = input.ToTensor().ElementType;
|
||||
return Value.FromTensor(OrtKI.Clip(result.ToTensor().Cast<float>().ToOrtTensor(), fusedClamp[0], fusedClamp[1]).ToTensor().CastTo(outType));
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
|
|
@ -214,7 +214,13 @@ public class LayerNormEvaluator : IEvaluator<LayerNorm>, ITypeInferencer<LayerNo
|
|||
}
|
||||
}
|
||||
|
||||
return new Tensor<float>(outputArray, input.Shape);
|
||||
var ret = new Tensor<float>(outputArray, input.Shape);
|
||||
return input.ElementType switch
|
||||
{
|
||||
Float32Type => ret,
|
||||
Float16Type => ret.Cast<Half>(CastMode.KDefault),
|
||||
_ => throw new NotSupportedException("Not Supported Type of Layernorm!"),
|
||||
};
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -25,5 +25,5 @@ set(ENABLE_VULKAN OFF)
|
|||
set(ENABLE_HALIDE OFF)
|
||||
set(BUILD_PYTHON_BINDING OFF)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=rv64gv")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=rv64gv")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=rv64gvzfh")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=rv64gvzfh")
|
||||
|
|
Loading…
Reference in New Issue