mirror of https://github.com/kendryte/nncase.git
CI: Add python wheel release (#929)
* Add python release * Add pyd as nncase-runtime component * Fix setup.py * Support publish * CI: Fix * Fix * Fix * Disable linux * Update ortki * Fix test_targets * Test * Update * Remove usage of tensorflow * Fix test_targets * Fix load_compiler_c_api_initializer * Fix evaluator of OneHotMode.Normal * Enable manylinux2014 * Fix * Fix * Fix * Apply code-format changes * Fix build --------- Co-authored-by: sunnycase <sunnycase@users.noreply.github.com>pull/930/head
parent
bda457a5de
commit
8f1d325049
|
@ -0,0 +1,100 @@
|
|||
name: compiler-python-release
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build-compiler:
|
||||
name: build-${{matrix.config.name}}
|
||||
runs-on: ${{matrix.config.os}}
|
||||
strategy:
|
||||
matrix:
|
||||
dotnet-version: ['7.0']
|
||||
config:
|
||||
- {name: x86_64-macos, os: macos-latest, shell: bash, rid: osx-x64, buildType: Release}
|
||||
- {name: x86_64-linux, os: ubuntu-latest, shell: bash, rid: linux-x64, buildType: Release}
|
||||
- {name: x86_64-windows, os: windows-latest, shell: bash, rid: win-x64, buildType: Release}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: ${{matrix.dotnet-version}}
|
||||
|
||||
- name: Cache NuGet packages
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ github.workspace }}/.nuget/packages
|
||||
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-nuget-
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
dotnet restore -r ${{matrix.config.rid}}
|
||||
dotnet publish src/Nncase.Compiler -c ${{matrix.config.buildType}} --no-restore --sc false -r ${{matrix.config.rid}}
|
||||
|
||||
- name: Upload nncase Build Artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: nncase-${{matrix.config.name}}
|
||||
path: ${{github.workspace}}/src/Nncase.Compiler/bin/${{matrix.config.buildType}}/net${{matrix.dotnet-version}}/${{matrix.config.rid}}/publish
|
||||
if-no-files-found: error
|
||||
|
||||
build-native:
|
||||
needs: [build-compiler]
|
||||
name: build-native-${{matrix.config.name}}
|
||||
runs-on: ${{matrix.config.os}}
|
||||
strategy:
|
||||
matrix:
|
||||
dotnet-version: ['7.0']
|
||||
config:
|
||||
- {name: x86_64-macos, os: macos-latest}
|
||||
- {name: x86_64-linux, os: ubuntu-latest}
|
||||
- {name: x86_64-windows, os: windows-latest, arch: x64}
|
||||
|
||||
env:
|
||||
VULKANSDK_VER: 1.2.182.0
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: seanmiddleditch/gha-setup-ninja@master
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: ${{matrix.dotnet-version}}
|
||||
|
||||
- name: Install nncase
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: nncase-${{matrix.config.name}}
|
||||
path: ${{github.workspace}}/install
|
||||
|
||||
- name: Set up build environment (Windows, Visual Studio)
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
with:
|
||||
arch: ${{matrix.config.arch}}
|
||||
if: runner.os == 'Windows'
|
||||
|
||||
- name: Set up build environment (Macos)
|
||||
run: |
|
||||
brew install sunnycase/core/libomp@11.1.0
|
||||
if: runner.os == 'Macos'
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: 3.7
|
||||
|
||||
- name: Install cibuildwheel
|
||||
run: pip install cibuildwheel
|
||||
|
||||
- name: Build wheel
|
||||
run: python -m cibuildwheel --output-dir wheelhouse
|
||||
|
||||
- name: Upload nncase-python Build Artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: nncase-python-${{matrix.config.name}}
|
||||
path: ${{github.workspace}}/wheelhouse
|
||||
if-no-files-found: error
|
|
@ -3,7 +3,7 @@
|
|||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake/Modules)
|
||||
|
||||
if(NOT DEFINED NNCASE_VERSION)
|
||||
set(NNCASE_VERSION "1.0.0")
|
||||
set(NNCASE_VERSION "2.0.0")
|
||||
endif()
|
||||
|
||||
if(DEFINED ENV{NNCASE_VERSION_SUFFIX})
|
||||
|
@ -31,6 +31,7 @@ project(nncase
|
|||
|
||||
option(ENABLE_OPENMP "OpenMP support" ON)
|
||||
option(ENABLE_HALIDE "halide kernels support" ON)
|
||||
option(DOTNET_INIT_FOR_CONFIG "Initialize dotnet from runtimeconfig" OFF)
|
||||
option(BUILD_PYTHON_BINDING "Build python binding" ON)
|
||||
option(BUILD_CSHARP_BINDING "Build csharp binding" ON)
|
||||
option(BUILD_BENCHMARK "Build benchmark programs" ON)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,14 +1,35 @@
|
|||
[project]
|
||||
name = "nncase"
|
||||
version = "2.0.0"
|
||||
requires-python = ">=3.6"
|
||||
dynamic = ["version"]
|
||||
requires-python = ">=3.7"
|
||||
authors = [{ name = "sunnycase" }, { email = "sunnycase@live.cn" }]
|
||||
maintainers = [{ name = "sunnycase" }, { email = "sunnycase@live.cn" }]
|
||||
readme = "README.md"
|
||||
description = "A neural network compiler for AI accelerators"
|
||||
license = { file = "LICENSE" }
|
||||
classifiers = [
|
||||
"Programming Language :: C++",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.7",
|
||||
"Programming Language :: Python :: 3.8",
|
||||
"Programming Language :: Python :: 3.9",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"License :: OSI Approved :: Apache Software License",
|
||||
"Operating System :: OS Independent",
|
||||
]
|
||||
keywords = ["kendryte", "nn", "compiler", "k210", "k510", "k230"]
|
||||
dependencies = ["numpy"]
|
||||
|
||||
[project.urls]
|
||||
homepage = "https://github.com/kendryte/nncase"
|
||||
|
||||
[build-system]
|
||||
requires = ["setuptools>=42", "wheel", "conan==1.59", "ninja"]
|
||||
requires = ["setuptools>=42", "wheel", "conan<=1.59", "ninja"]
|
||||
|
||||
[tool.cibuildwheel]
|
||||
build = "cp3*"
|
||||
manylinux-x86_64-image = "sunnycase/manylinux_2_24_x86_64:version1.0"
|
||||
build = ["cp37*", "cp38*", "cp39*", "cp310*"]
|
||||
skip = "*musllinux*"
|
||||
manylinux-x86_64-image = "sunnycase/manylinux2014_x86_64:1.0"
|
||||
test-requires = "pytest"
|
||||
test-command = [
|
||||
"pytest {project}/tests/other"
|
||||
|
@ -23,11 +44,14 @@ archs = ["AMD64"]
|
|||
[tool.cibuildwheel.linux]
|
||||
archs = ["x86_64"]
|
||||
before-all = [
|
||||
"pip install conan",
|
||||
"pip install conan==1.59",
|
||||
"conan profile new default --detect",
|
||||
"conan profile update settings.compiler.libcxx=libstdc++11 default"
|
||||
"conan profile update settings.compiler.libcxx=libstdc++11 default",
|
||||
"curl -L https://sdk.lunarg.com/sdk/download/1.2.182.0/linux/vulkansdk-linux-x86_64-1.2.182.0.tar.gz --output vulkansdk.tar.gz",
|
||||
"tar xf vulkansdk.tar.gz",
|
||||
"cp -P 1.2.182.0/x86_64/lib/libvulkan.so* /usr/local/lib/"
|
||||
]
|
||||
before-build = "pip install https://github.com/sunnycase/auditwheel/releases/download/4.0.0-nncase-2/auditwheel-0.0.0-py3-none-any.whl"
|
||||
before-build = "pip install auditwheel"
|
||||
repair-wheel-command = "LD_LIBRARY_PATH=/usr/lib64 auditwheel repair -w {dest_dir} {wheel} --exclude libvulkan.so.1,libgomp.so.1"
|
||||
|
||||
[tool.cibuildwheel.macos]
|
||||
|
|
|
@ -34,19 +34,12 @@ import _nncase
|
|||
from _nncase import RuntimeTensor, TensorDesc, Simulator
|
||||
|
||||
|
||||
def _check_env():
|
||||
env = os.environ
|
||||
errors = []
|
||||
if not "NNCASE_COMPILER" in env:
|
||||
errors.append("NNCASE_COMPILER not found")
|
||||
return errors
|
||||
|
||||
|
||||
def _initialize():
|
||||
errors = _check_env()
|
||||
if len(errors) > 0:
|
||||
raise Exception("check failed:\n" + str.join('\n', errors))
|
||||
_nncase.initialize(os.getenv("NNCASE_COMPILER"))
|
||||
compiler_path = os.getenv("NNCASE_COMPILER")
|
||||
if not compiler_path:
|
||||
compiler_path = os.path.join(os.path.dirname(_nncase.__file__),
|
||||
"nncase", "Nncase.Compiler.dll")
|
||||
_nncase.initialize(compiler_path)
|
||||
|
||||
|
||||
_initialize()
|
||||
|
|
|
@ -10,4 +10,6 @@ target_link_libraries(nncase_python PRIVATE nncaseruntime)
|
|||
target_include_directories(nncase_python PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../common)
|
||||
set_target_properties(nncase_python PROPERTIES
|
||||
OUTPUT_NAME _nncase)
|
||||
install(TARGETS nncase_python DESTINATION lib)
|
||||
install(TARGETS nncase_python
|
||||
COMPONENT nncase-runtime
|
||||
DESTINATION lib)
|
||||
|
|
68
setup.py
68
setup.py
|
@ -7,6 +7,7 @@ from setuptools.command.install_lib import install_lib
|
|||
from setuptools.command.install_scripts import install_scripts
|
||||
import shutil
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
import io
|
||||
import re
|
||||
|
@ -77,14 +78,25 @@ class InstallCMakeLibs(install_lib):
|
|||
# your files are moved to the appropriate location when the installation
|
||||
# is run
|
||||
|
||||
sharp_libs = [os.path.join(root, _lib) for root, _, files in
|
||||
os.walk(os.path.join(bin_dir, 'sharplibs')) for _lib in files if
|
||||
os.path.isfile(os.path.join(root, _lib)) and
|
||||
os.path.splitext(_lib)[-1] in [".dll", ".so", ".dylib", ".json"]
|
||||
and not _lib.endswith(".deps.json")]
|
||||
|
||||
for lib in sharp_libs:
|
||||
shutil.move(lib, os.path.join(self.build_dir,
|
||||
'nncase',
|
||||
os.path.basename(lib)))
|
||||
|
||||
libs = [os.path.join(root, _lib) for root, _, files in
|
||||
os.walk(bin_dir) for _lib in files if
|
||||
'sharplibs' not in root and
|
||||
os.path.isfile(os.path.join(root, _lib)) and
|
||||
os.path.splitext(_lib)[1] in [".dll", ".so", ".dylib"]
|
||||
os.path.splitext(_lib)[-1] in [".dll", ".so", ".dylib", ".json"]
|
||||
and not (_lib.startswith("python") or _lib.startswith("_nncase"))]
|
||||
|
||||
for lib in libs:
|
||||
|
||||
shutil.move(lib, os.path.join(self.build_dir,
|
||||
os.path.basename(lib)))
|
||||
|
||||
|
@ -105,9 +117,14 @@ class InstallCMakeLibs(install_lib):
|
|||
# step; depending on the files that are generated from your cmake
|
||||
# build chain, you may need to modify the below code
|
||||
|
||||
self.distribution.data_files = [os.path.join(self.install_dir,
|
||||
os.path.basename(lib))
|
||||
for lib in libs]
|
||||
data_files = [os.path.join(self.install_dir,
|
||||
os.path.basename(lib))
|
||||
for lib in libs]
|
||||
data_files += [os.path.join(self.install_dir,
|
||||
'nncase',
|
||||
os.path.basename(lib))
|
||||
for lib in sharp_libs]
|
||||
self.distribution.data_files = data_files
|
||||
|
||||
# Must be forced to run after adding the libs to data_files
|
||||
|
||||
|
@ -184,10 +201,10 @@ class BuildCMakeExt(build_ext):
|
|||
extdir += os.path.sep
|
||||
|
||||
bin_dir = os.path.abspath(os.path.join(self.build_temp, 'install'))
|
||||
cmake_args = ['-G', 'Ninja']
|
||||
if os.getenv('AUDITWHEEL_PLAT') != None:
|
||||
cmake_args += ['-DCMAKE_C_COMPILER=gcc-10']
|
||||
cmake_args += ['-DCMAKE_CXX_COMPILER=g++-10']
|
||||
cmake_args = ['-G', 'Ninja', '-DDOTNET_INIT_FOR_CONFIG=ON']
|
||||
if platform.system() == 'Windows':
|
||||
cmake_args += ['-DCMAKE_C_COMPILER=clang-cl']
|
||||
cmake_args += ['-DCMAKE_CXX_COMPILER=clang-cl']
|
||||
cmake_args += ['-DPython3_ROOT_DIR=' + os.path.dirname(sys.executable)]
|
||||
|
||||
cfg = 'Debug' if self.debug else 'Release'
|
||||
|
@ -228,6 +245,17 @@ class BuildCMakeExt(build_ext):
|
|||
|
||||
shutil.move(pyd_path, extpath)
|
||||
|
||||
# copy nncase publish
|
||||
nncase_libs = [os.path.join(root, _lib) for root, _, files in
|
||||
os.walk(os.path.join(ext.sourcedir, 'install')) for _lib in files if
|
||||
os.path.isfile(os.path.join(root, _lib)) and
|
||||
os.path.splitext(_lib)[-1] in [".dll", ".so", ".dylib", ".json"]]
|
||||
|
||||
sharp_libs_dir = os.path.join(bin_dir, 'sharplibs')
|
||||
os.makedirs(sharp_libs_dir)
|
||||
for lib in nncase_libs:
|
||||
shutil.copy(lib, os.path.join(sharp_libs_dir, os.path.basename(lib)))
|
||||
|
||||
# After build_ext is run, the following commands will run:
|
||||
#
|
||||
# install_lib
|
||||
|
@ -251,33 +279,11 @@ def find_version():
|
|||
raise RuntimeError("Unable to find version string.")
|
||||
|
||||
|
||||
requirements = ["numpy"]
|
||||
|
||||
setup(name='nncase',
|
||||
version=find_version(),
|
||||
author="sunnycase",
|
||||
author_email="sunnycase@live.cn",
|
||||
maintainer="sunnycase",
|
||||
packages=['nncase'],
|
||||
package_dir={'': 'python'},
|
||||
python_requires=">=3.6",
|
||||
install_requires=requirements,
|
||||
ext_modules=[CMakeExtension(name="_nncase", sourcedir='.')],
|
||||
description="A neural network compiler for AI accelerators",
|
||||
url='https://github.com/kendryte/nncase',
|
||||
long_description=open("README.md", 'r', encoding='utf8').read(),
|
||||
long_description_content_type="text/markdown",
|
||||
keywords="kendryte, nn, compiler, k210, k510",
|
||||
classifiers=[
|
||||
"Programming Language :: C++",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.6",
|
||||
"Programming Language :: Python :: 3.7",
|
||||
"Programming Language :: Python :: 3.8",
|
||||
"Programming Language :: Python :: 3.9",
|
||||
"License :: OSI Approved :: Apache Software License",
|
||||
"Operating System :: OS Independent", ],
|
||||
license='Apache-2.0',
|
||||
cmdclass={
|
||||
'build_ext': BuildCMakeExt,
|
||||
'install_data': InstallCMakeLibsData,
|
||||
|
|
|
@ -1,12 +1,16 @@
|
|||
cmake_minimum_required (VERSION 3.13)
|
||||
cmake_minimum_required (VERSION 3.21)
|
||||
|
||||
set(SRCS compiler.cpp)
|
||||
|
||||
if (NOT BUILDING_RUNTIME)
|
||||
add_library(compiler OBJECT ${SRCS})
|
||||
target_include_directories(compiler PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||
target_link_libraries(compiler PUBLIC gsl::gsl-lite mpark_variant::mpark_variant)
|
||||
target_link_libraries(compiler PUBLIC gsl::gsl-lite)
|
||||
target_link_libraries(compiler PRIVATE nethost::nethost absl::absl)
|
||||
target_compile_definitions(compiler PUBLIC -DNNCASE_DLL -DNNCASE_SIMULATOR)
|
||||
set_property(TARGET compiler PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
if (DOTNET_INIT_FOR_CONFIG)
|
||||
target_compile_definitions(compiler PRIVATE -DNNCASE_DOTNET_INIT_FOR_CONFIG)
|
||||
endif ()
|
||||
endif()
|
||||
|
|
|
@ -30,9 +30,11 @@
|
|||
#include <dlfcn.h>
|
||||
#endif
|
||||
|
||||
#define THROW_IF_NOT(x, err) \
|
||||
#define THROW_IF_NOT(x, format, ...) \
|
||||
if (!(x)) { \
|
||||
throw std::system_error(make_error_code(err)); \
|
||||
char msg[256]; \
|
||||
std::snprintf(msg, std::size(msg), format, __VA_ARGS__); \
|
||||
throw std::runtime_error(msg); \
|
||||
}
|
||||
|
||||
#define UNMANAGEDCALLERSONLY_METHOD ((const char_t *)-1)
|
||||
|
@ -45,6 +47,11 @@ typedef int (*get_function_pointer_fn)(const char_t *type_name,
|
|||
void *load_context, void *reserved,
|
||||
/*out*/ void **delegate);
|
||||
|
||||
typedef int (*load_assembly_and_get_function_pointer_fn)(
|
||||
const char_t *assembly_path, const char_t *type_name,
|
||||
const char_t *method_name, const char_t *delegate_type_name, void *reserved,
|
||||
/*out*/ void **delegate);
|
||||
|
||||
typedef void (*c_api_initialize_fn)(nncase_api_mt_t *mt);
|
||||
|
||||
#ifdef WIN32
|
||||
|
@ -194,43 +201,76 @@ struct premain {
|
|||
} premain_v;
|
||||
|
||||
#endif
|
||||
|
||||
c_api_initialize_fn
|
||||
load_compiler_c_api_initializer(const char *root_assembly_path) {
|
||||
std::basic_string<char_t> get_hostfxr_path_wrapper() {
|
||||
size_t path_length;
|
||||
if (get_hostfxr_path(nullptr, &path_length, nullptr) != 0x80008098)
|
||||
throw std::runtime_error("Failed to get hostfxr path.");
|
||||
|
||||
std::basic_string<char_t> path(path_length, '\0');
|
||||
if (get_hostfxr_path(path.data(), &path_length, nullptr))
|
||||
std::basic_string<char_t> hostfxr_path(path_length, '\0');
|
||||
if (get_hostfxr_path(hostfxr_path.data(), &path_length, nullptr))
|
||||
throw std::runtime_error("Failed to get hostfxr path.");
|
||||
return hostfxr_path;
|
||||
}
|
||||
|
||||
auto hostfxr_mod = load_library(path.c_str());
|
||||
c_api_initialize_fn
|
||||
load_compiler_c_api_initializer(const char *root_assembly_path) {
|
||||
auto hostfxr_mod = load_library(get_hostfxr_path_wrapper().c_str());
|
||||
|
||||
hostfxr_handle handle = nullptr;
|
||||
std::filesystem::path compiler_path(root_assembly_path);
|
||||
|
||||
#ifdef NNCASE_DOTNET_INIT_FOR_CONFIG
|
||||
auto hostfxr_initialize =
|
||||
(hostfxr_initialize_for_runtime_config_fn)load_symbol(
|
||||
hostfxr_mod, "hostfxr_initialize_for_runtime_config");
|
||||
auto hr = hostfxr_initialize(
|
||||
compiler_path.replace_extension(".runtimeconfig.json").c_str(), nullptr,
|
||||
&handle);
|
||||
#else
|
||||
const char_t *args[] = {compiler_path.c_str()};
|
||||
auto hostfxr_initialize =
|
||||
(hostfxr_initialize_for_dotnet_command_line_fn)load_symbol(
|
||||
hostfxr_mod, "hostfxr_initialize_for_dotnet_command_line");
|
||||
auto hr = hostfxr_initialize(1, args, nullptr, &handle);
|
||||
#endif
|
||||
|
||||
hostfxr_handle handle;
|
||||
std::filesystem::path compiler_path(root_assembly_path);
|
||||
const char_t *args[] = {compiler_path.c_str()};
|
||||
hostfxr_initialize(1, args, nullptr, &handle);
|
||||
THROW_IF_NOT(handle, nncase::runtime::nncase_errc::runtime_not_found);
|
||||
THROW_IF_NOT(handle, "Failed to initialize hostfxr: 0x%x.", hr);
|
||||
|
||||
auto hostfxr_get_delegate = (hostfxr_get_runtime_delegate_fn)load_symbol(
|
||||
hostfxr_mod, "hostfxr_get_runtime_delegate");
|
||||
|
||||
get_function_pointer_fn hostfxr_get_fn_ptr;
|
||||
hostfxr_get_delegate(handle, hdt_get_function_pointer,
|
||||
(void **)&hostfxr_get_fn_ptr);
|
||||
#ifdef NNCASE_DOTNET_INIT_FOR_CONFIG
|
||||
load_assembly_and_get_function_pointer_fn hostfxr_get_fn_ptr = nullptr;
|
||||
hr =
|
||||
hostfxr_get_delegate(handle, hdt_load_assembly_and_get_function_pointer,
|
||||
(void **)&hostfxr_get_fn_ptr);
|
||||
THROW_IF_NOT(hostfxr_get_fn_ptr,
|
||||
nncase::runtime::nncase_errc::runtime_not_found);
|
||||
"Failed to initialize "
|
||||
"hdt_load_assembly_and_get_function_pointer: 0x%x.",
|
||||
hr);
|
||||
#else
|
||||
get_function_pointer_fn hostfxr_get_fn_ptr = nullptr;
|
||||
hr = hostfxr_get_delegate(handle, hdt_get_function_pointer,
|
||||
(void **)&hostfxr_get_fn_ptr);
|
||||
THROW_IF_NOT(hostfxr_get_fn_ptr,
|
||||
"Failed to initialize hdt_get_function_pointer: 0x%x.", hr);
|
||||
#endif
|
||||
|
||||
c_api_initialize_fn c_api_initialize = nullptr;
|
||||
#ifdef NNCASE_DOTNET_INIT_FOR_CONFIG
|
||||
hr = hostfxr_get_fn_ptr(compiler_path.c_str(),
|
||||
_T("Nncase.Compiler.Interop.CApi, Nncase.Compiler"),
|
||||
_T("Initialize"), UNMANAGEDCALLERSONLY_METHOD,
|
||||
nullptr, (void **)&c_api_initialize);
|
||||
#else
|
||||
hr = hostfxr_get_fn_ptr(_T("Nncase.Compiler.Interop.CApi, Nncase.Compiler"),
|
||||
_T("Initialize"), UNMANAGEDCALLERSONLY_METHOD,
|
||||
nullptr, nullptr, (void **)&c_api_initialize);
|
||||
#endif
|
||||
|
||||
c_api_initialize_fn c_api_initialize;
|
||||
hostfxr_get_fn_ptr(_T("Nncase.Compiler.Interop.CApi, Nncase.Compiler"),
|
||||
_T("Initialize"), UNMANAGEDCALLERSONLY_METHOD, nullptr,
|
||||
nullptr, (void **)&c_api_initialize);
|
||||
THROW_IF_NOT(c_api_initialize,
|
||||
nncase::runtime::nncase_errc::runtime_not_found);
|
||||
"Failed to initialize Nncase.Compiler.Interop.CApi: 0x%x.",
|
||||
hr);
|
||||
return c_api_initialize;
|
||||
}
|
||||
|
||||
|
|
|
@ -82,7 +82,9 @@ else()
|
|||
DESTINATION lib/cmake/nncase)
|
||||
|
||||
if (WIN32)
|
||||
install(FILES ${CONAN_NETHOST_ROOT}/bin/nethost.dll DESTINATION bin)
|
||||
install(FILES ${CONAN_NETHOST_ROOT}/bin/nethost.dll
|
||||
COMPONENT nncase-runtime
|
||||
DESTINATION bin)
|
||||
endif()
|
||||
|
||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/../../../../cmake/nncaseConfig.cmake.in nncaseConfig.cmake @ONLY)
|
||||
|
|
|
@ -312,213 +312,16 @@
|
|||
"resolved": "1.1.0",
|
||||
"contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg=="
|
||||
},
|
||||
"Microsoft.Win32.Primitives": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"NetFabric.Hyperlinq.Abstractions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "WXnEcGwmXfa8gW9N2MlcaPNUzM3NLMwnAhacbtH554F8YcoXbIkTB+uGa1Aa+9gyb/9JZgYVHnmADgJUKP52nA=="
|
||||
},
|
||||
"NETStandard.Library": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.6.1",
|
||||
"contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.Win32.Primitives": "4.3.0",
|
||||
"System.AppContext": "4.3.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Collections.Concurrent": "4.3.0",
|
||||
"System.Console": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Diagnostics.Tools": "4.3.0",
|
||||
"System.Diagnostics.Tracing": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Globalization.Calendars": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.Compression": "4.3.0",
|
||||
"System.IO.Compression.ZipFile": "4.3.0",
|
||||
"System.IO.FileSystem": "4.3.0",
|
||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
||||
"System.Linq": "4.3.0",
|
||||
"System.Linq.Expressions": "4.3.0",
|
||||
"System.Net.Http": "4.3.0",
|
||||
"System.Net.Primitives": "4.3.0",
|
||||
"System.Net.Sockets": "4.3.0",
|
||||
"System.ObjectModel": "4.3.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Reflection.Extensions": "4.3.0",
|
||||
"System.Reflection.Primitives": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Runtime.InteropServices.RuntimeInformation": "4.3.0",
|
||||
"System.Runtime.Numerics": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Security.Cryptography.X509Certificates": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Text.Encoding.Extensions": "4.3.0",
|
||||
"System.Text.RegularExpressions": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0",
|
||||
"System.Threading.Timer": "4.3.0",
|
||||
"System.Xml.ReaderWriter": "4.3.0",
|
||||
"System.Xml.XDocument": "4.3.0"
|
||||
}
|
||||
},
|
||||
"Protobuf.Text": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.5.0",
|
||||
"contentHash": "GVu3Y7hyybXv8nmKp9HtSzj1g0+rmNSZ4brM5t0auqpwYFYi5lL02UX9Nu9355DgPQbALLWUnjx+h2PttUNieg==",
|
||||
"dependencies": {
|
||||
"Google.Protobuf": "3.11.3"
|
||||
}
|
||||
},
|
||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q=="
|
||||
},
|
||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA=="
|
||||
},
|
||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw=="
|
||||
},
|
||||
"runtime.native.System": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0"
|
||||
}
|
||||
},
|
||||
"runtime.native.System.IO.Compression": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0"
|
||||
}
|
||||
},
|
||||
"runtime.native.System.Net.Http": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0"
|
||||
}
|
||||
},
|
||||
"runtime.native.System.Security.Cryptography.Apple": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==",
|
||||
"dependencies": {
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0"
|
||||
}
|
||||
},
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==",
|
||||
"dependencies": {
|
||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A=="
|
||||
},
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ=="
|
||||
},
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ=="
|
||||
},
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g=="
|
||||
},
|
||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg=="
|
||||
},
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ=="
|
||||
},
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A=="
|
||||
},
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg=="
|
||||
},
|
||||
"Serilog": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.10.0",
|
||||
"contentHash": "+QX0hmf37a0/OZLxM3wL7V6/ADvC1XihXN4Kq/p6d8lCPfgkRdiuhbWlMaFjR9Av0dy5F0+MBeDmDdRZN/YwQA=="
|
||||
},
|
||||
"Serilog.Sinks.Console": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.0.1",
|
||||
"contentHash": "apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==",
|
||||
"dependencies": {
|
||||
"Serilog": "2.10.0"
|
||||
}
|
||||
},
|
||||
"StyleCop.Analyzers.Unstable": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.2.0.435",
|
||||
"contentHash": "ouwPWZxbOV3SmCZxIRqHvljkSzkCyi1tDoMzQtDb/bRP8ctASV/iRJr+A2Gdj0QLaLmWnqTWDrH82/iP+X80Lg=="
|
||||
},
|
||||
"System.AppContext": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==",
|
||||
"dependencies": {
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Buffers": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.1",
|
||||
|
@ -534,23 +337,6 @@
|
|||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Collections.Concurrent": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==",
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Diagnostics.Tracing": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.CommandLine": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.0.0-beta1.21216.1",
|
||||
|
@ -560,18 +346,6 @@
|
|||
"system.memory": "4.5.4"
|
||||
}
|
||||
},
|
||||
"System.Console": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Diagnostics.Contracts": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -603,26 +377,6 @@
|
|||
"resolved": "6.0.0",
|
||||
"contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw=="
|
||||
},
|
||||
"System.Diagnostics.Tools": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Diagnostics.Tracing": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Globalization": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -633,30 +387,6 @@
|
|||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Globalization.Calendars": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Globalization.Extensions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.IO": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -669,67 +399,6 @@
|
|||
"System.Threading.Tasks": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.IO.Compression": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Buffers": "4.3.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0",
|
||||
"runtime.native.System": "4.3.0",
|
||||
"runtime.native.System.IO.Compression": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.IO.Compression.ZipFile": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==",
|
||||
"dependencies": {
|
||||
"System.Buffers": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.Compression": "4.3.0",
|
||||
"System.IO.FileSystem": "4.3.0",
|
||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.IO.FileSystem": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.IO.FileSystem.Primitives": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==",
|
||||
"dependencies": {
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Linq": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -786,63 +455,6 @@
|
|||
"resolved": "4.5.4",
|
||||
"contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw=="
|
||||
},
|
||||
"System.Net.Http": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Diagnostics.DiagnosticSource": "4.3.0",
|
||||
"System.Diagnostics.Tracing": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Globalization.Extensions": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.FileSystem": "4.3.0",
|
||||
"System.Net.Primitives": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Security.Cryptography.X509Certificates": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0",
|
||||
"runtime.native.System": "4.3.0",
|
||||
"runtime.native.System.Net.Http": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Net.Primitives": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Net.Sockets": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Net.Primitives": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.ObjectModel": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -966,198 +578,6 @@
|
|||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.Handles": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.InteropServices": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Reflection.Primitives": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.InteropServices.RuntimeInformation": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==",
|
||||
"dependencies": {
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Reflection.Extensions": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"runtime.native.System": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.Numerics": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==",
|
||||
"dependencies": {
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Algorithms": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Runtime.Numerics": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.Apple": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Cng": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Csp": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Encoding": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Collections.Concurrent": "4.3.0",
|
||||
"System.Linq": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==",
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Runtime.Numerics": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Primitives": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==",
|
||||
"dependencies": {
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.X509Certificates": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Globalization.Calendars": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.FileSystem": "4.3.0",
|
||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Runtime.Numerics": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Cng": "4.3.0",
|
||||
"System.Security.Cryptography.Csp": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"runtime.native.System": "4.3.0",
|
||||
"runtime.native.System.Net.Http": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encoding": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -1168,17 +588,6 @@
|
|||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encoding.Extensions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0",
|
||||
|
@ -1196,14 +605,6 @@
|
|||
"System.Text.Encodings.Web": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Text.RegularExpressions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==",
|
||||
"dependencies": {
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Threading": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -1228,62 +629,11 @@
|
|||
"resolved": "4.5.4",
|
||||
"contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg=="
|
||||
},
|
||||
"System.Threading.Timer": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.ValueTuple": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.0",
|
||||
"contentHash": "okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ=="
|
||||
},
|
||||
"System.Xml.ReaderWriter": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==",
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.FileSystem": "4.3.0",
|
||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Text.Encoding.Extensions": "4.3.0",
|
||||
"System.Text.RegularExpressions": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0",
|
||||
"System.Threading.Tasks.Extensions": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Xml.XDocument": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==",
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Diagnostics.Tools": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Xml.ReaderWriter": "4.3.0"
|
||||
}
|
||||
},
|
||||
"nncase.codegen": {
|
||||
"type": "Project",
|
||||
"dependencies": {
|
||||
|
@ -1343,9 +693,6 @@
|
|||
"nncase.evaluator": {
|
||||
"type": "Project",
|
||||
"dependencies": {
|
||||
"AnyTensorFlow.NET": "[0.70.1, )",
|
||||
"MagicalTensorflowLib": "[0.0.2, )",
|
||||
"MagicalTensorflowLibOSX-ARM64": "[0.0.4, )",
|
||||
"Nncase.Core": "[1.0.0, )",
|
||||
"OrtKISharp": "[0.0.2, )"
|
||||
}
|
||||
|
@ -1427,17 +774,6 @@
|
|||
"Nncase.FlatBuffers": "[2.0.0, )"
|
||||
}
|
||||
},
|
||||
"AnyTensorFlow.NET": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[0.70.1, )",
|
||||
"resolved": "0.70.1",
|
||||
"contentHash": "uUXNveJhZuvBue8ixPXKkMwYUeKBeVNVqptNlhmTe+YhIwn6xke1WSg3EfUJrjmmF6xkJtAYhE4H0Ejj/+H0aA==",
|
||||
"dependencies": {
|
||||
"MethodBoundaryAspect.Fody": "2.0.144",
|
||||
"Protobuf.Text": "0.5.0",
|
||||
"Serilog.Sinks.Console": "4.0.1"
|
||||
}
|
||||
},
|
||||
"DryIoc.dll": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[5.3.1, )",
|
||||
|
@ -1460,12 +796,6 @@
|
|||
"resolved": "1.2.12",
|
||||
"contentHash": "D4mn5Cab4ztPLJ0V8uMErDrO/Y61098nwrvyIOLZymVAYOQcwP1vomVWKbTagf1aPU3cX5Q7adZtQEQwOy6XEg=="
|
||||
},
|
||||
"Fody": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[6.6.4, )",
|
||||
"resolved": "6.0.5",
|
||||
"contentHash": "xfz4NwIIPs2xtfvpPlXz49cHYPeWBl/bnvlpW6OSpxKFAujAm7vLQ8Ma7aX3GYVjc/czn5+58QNUnDyb4gxiKA=="
|
||||
},
|
||||
"GiGraph.Dot": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[2.0.0, )",
|
||||
|
@ -1496,28 +826,6 @@
|
|||
"System.ValueTuple": "4.5.0"
|
||||
}
|
||||
},
|
||||
"MagicalTensorflowLib": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[0.0.2, )",
|
||||
"resolved": "0.0.2",
|
||||
"contentHash": "77rldBcc11n69dhtdbJUw3aDxBfVkr5a5raA5gY7sRrDbgJ00/4whx3XLnhn6uBzRsKlpm6jDdYG2fcDUZPfkQ=="
|
||||
},
|
||||
"MagicalTensorflowLibOSX-ARM64": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[0.0.4, )",
|
||||
"resolved": "0.0.4",
|
||||
"contentHash": "nycg8x7AMPaQrjF0vvwhL6idLLb/IWIMad7UbEO0btIz6dyNIZI3drYefSM8pzV5lOweoyj0zDr98YfsxbxG8Q=="
|
||||
},
|
||||
"MethodBoundaryAspect.Fody": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[2.0.148, )",
|
||||
"resolved": "2.0.144",
|
||||
"contentHash": "L4r4Dt+Q9/pwp1aAGn94V5PmcTa0nygJE1PXrCIHSiFaVA/vhDuo6I1qQCU9J7VF0V/HNcM8sI17gJiTNz8FXQ==",
|
||||
"dependencies": {
|
||||
"Fody": "6.0.5",
|
||||
"NETStandard.Library": "1.6.1"
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Hosting.Abstractions": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[6.0.0, )",
|
||||
|
|
|
@ -318,213 +318,16 @@
|
|||
"resolved": "1.1.0",
|
||||
"contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg=="
|
||||
},
|
||||
"Microsoft.Win32.Primitives": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"NetFabric.Hyperlinq.Abstractions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "WXnEcGwmXfa8gW9N2MlcaPNUzM3NLMwnAhacbtH554F8YcoXbIkTB+uGa1Aa+9gyb/9JZgYVHnmADgJUKP52nA=="
|
||||
},
|
||||
"NETStandard.Library": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.6.1",
|
||||
"contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.Win32.Primitives": "4.3.0",
|
||||
"System.AppContext": "4.3.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Collections.Concurrent": "4.3.0",
|
||||
"System.Console": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Diagnostics.Tools": "4.3.0",
|
||||
"System.Diagnostics.Tracing": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Globalization.Calendars": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.Compression": "4.3.0",
|
||||
"System.IO.Compression.ZipFile": "4.3.0",
|
||||
"System.IO.FileSystem": "4.3.0",
|
||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
||||
"System.Linq": "4.3.0",
|
||||
"System.Linq.Expressions": "4.3.0",
|
||||
"System.Net.Http": "4.3.0",
|
||||
"System.Net.Primitives": "4.3.0",
|
||||
"System.Net.Sockets": "4.3.0",
|
||||
"System.ObjectModel": "4.3.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Reflection.Extensions": "4.3.0",
|
||||
"System.Reflection.Primitives": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Runtime.InteropServices.RuntimeInformation": "4.3.0",
|
||||
"System.Runtime.Numerics": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Security.Cryptography.X509Certificates": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Text.Encoding.Extensions": "4.3.0",
|
||||
"System.Text.RegularExpressions": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0",
|
||||
"System.Threading.Timer": "4.3.0",
|
||||
"System.Xml.ReaderWriter": "4.3.0",
|
||||
"System.Xml.XDocument": "4.3.0"
|
||||
}
|
||||
},
|
||||
"Protobuf.Text": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.5.0",
|
||||
"contentHash": "GVu3Y7hyybXv8nmKp9HtSzj1g0+rmNSZ4brM5t0auqpwYFYi5lL02UX9Nu9355DgPQbALLWUnjx+h2PttUNieg==",
|
||||
"dependencies": {
|
||||
"Google.Protobuf": "3.11.3"
|
||||
}
|
||||
},
|
||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q=="
|
||||
},
|
||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA=="
|
||||
},
|
||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw=="
|
||||
},
|
||||
"runtime.native.System": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0"
|
||||
}
|
||||
},
|
||||
"runtime.native.System.IO.Compression": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0"
|
||||
}
|
||||
},
|
||||
"runtime.native.System.Net.Http": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0"
|
||||
}
|
||||
},
|
||||
"runtime.native.System.Security.Cryptography.Apple": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==",
|
||||
"dependencies": {
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0"
|
||||
}
|
||||
},
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==",
|
||||
"dependencies": {
|
||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A=="
|
||||
},
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ=="
|
||||
},
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ=="
|
||||
},
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g=="
|
||||
},
|
||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg=="
|
||||
},
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ=="
|
||||
},
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A=="
|
||||
},
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg=="
|
||||
},
|
||||
"Serilog": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.10.0",
|
||||
"contentHash": "+QX0hmf37a0/OZLxM3wL7V6/ADvC1XihXN4Kq/p6d8lCPfgkRdiuhbWlMaFjR9Av0dy5F0+MBeDmDdRZN/YwQA=="
|
||||
},
|
||||
"Serilog.Sinks.Console": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.0.1",
|
||||
"contentHash": "apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==",
|
||||
"dependencies": {
|
||||
"Serilog": "2.10.0"
|
||||
}
|
||||
},
|
||||
"StyleCop.Analyzers.Unstable": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.2.0.435",
|
||||
"contentHash": "ouwPWZxbOV3SmCZxIRqHvljkSzkCyi1tDoMzQtDb/bRP8ctASV/iRJr+A2Gdj0QLaLmWnqTWDrH82/iP+X80Lg=="
|
||||
},
|
||||
"System.AppContext": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==",
|
||||
"dependencies": {
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Buffers": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.1",
|
||||
|
@ -540,35 +343,6 @@
|
|||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Collections.Concurrent": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==",
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Diagnostics.Tracing": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Console": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Diagnostics.Contracts": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -600,26 +374,6 @@
|
|||
"resolved": "6.0.0",
|
||||
"contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw=="
|
||||
},
|
||||
"System.Diagnostics.Tools": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Diagnostics.Tracing": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Globalization": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -630,30 +384,6 @@
|
|||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Globalization.Calendars": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Globalization.Extensions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.IO": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -666,67 +396,6 @@
|
|||
"System.Threading.Tasks": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.IO.Compression": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Buffers": "4.3.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0",
|
||||
"runtime.native.System": "4.3.0",
|
||||
"runtime.native.System.IO.Compression": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.IO.Compression.ZipFile": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==",
|
||||
"dependencies": {
|
||||
"System.Buffers": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.Compression": "4.3.0",
|
||||
"System.IO.FileSystem": "4.3.0",
|
||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.IO.FileSystem": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.IO.FileSystem.Primitives": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==",
|
||||
"dependencies": {
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Linq": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -783,63 +452,6 @@
|
|||
"resolved": "4.5.4",
|
||||
"contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw=="
|
||||
},
|
||||
"System.Net.Http": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Diagnostics.DiagnosticSource": "4.3.0",
|
||||
"System.Diagnostics.Tracing": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Globalization.Extensions": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.FileSystem": "4.3.0",
|
||||
"System.Net.Primitives": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Security.Cryptography.X509Certificates": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0",
|
||||
"runtime.native.System": "4.3.0",
|
||||
"runtime.native.System.Net.Http": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Net.Primitives": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Net.Sockets": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Net.Primitives": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.ObjectModel": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -963,198 +575,6 @@
|
|||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.Handles": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.InteropServices": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Reflection.Primitives": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.InteropServices.RuntimeInformation": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==",
|
||||
"dependencies": {
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Reflection.Extensions": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"runtime.native.System": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.Numerics": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==",
|
||||
"dependencies": {
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Algorithms": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Runtime.Numerics": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.Apple": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Cng": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Csp": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Encoding": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Collections.Concurrent": "4.3.0",
|
||||
"System.Linq": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==",
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Runtime.Numerics": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Primitives": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==",
|
||||
"dependencies": {
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.X509Certificates": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Globalization.Calendars": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.FileSystem": "4.3.0",
|
||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Runtime.Numerics": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Cng": "4.3.0",
|
||||
"System.Security.Cryptography.Csp": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"runtime.native.System": "4.3.0",
|
||||
"runtime.native.System.Net.Http": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encoding": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -1165,17 +585,6 @@
|
|||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encoding.Extensions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0",
|
||||
|
@ -1193,14 +602,6 @@
|
|||
"System.Text.Encodings.Web": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Text.RegularExpressions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==",
|
||||
"dependencies": {
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Threading": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -1225,62 +626,11 @@
|
|||
"resolved": "4.5.4",
|
||||
"contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg=="
|
||||
},
|
||||
"System.Threading.Timer": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.ValueTuple": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.0",
|
||||
"contentHash": "okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ=="
|
||||
},
|
||||
"System.Xml.ReaderWriter": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==",
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.FileSystem": "4.3.0",
|
||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Text.Encoding.Extensions": "4.3.0",
|
||||
"System.Text.RegularExpressions": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0",
|
||||
"System.Threading.Tasks.Extensions": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Xml.XDocument": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
"contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==",
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Diagnostics.Tools": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Xml.ReaderWriter": "4.3.0"
|
||||
}
|
||||
},
|
||||
"nncase.codegen": {
|
||||
"type": "Project",
|
||||
"dependencies": {
|
||||
|
@ -1321,9 +671,6 @@
|
|||
"nncase.evaluator": {
|
||||
"type": "Project",
|
||||
"dependencies": {
|
||||
"AnyTensorFlow.NET": "[0.70.1, )",
|
||||
"MagicalTensorflowLib": "[0.0.2, )",
|
||||
"MagicalTensorflowLibOSX-ARM64": "[0.0.4, )",
|
||||
"Nncase.Core": "[1.0.0, )",
|
||||
"OrtKISharp": "[0.0.2, )"
|
||||
}
|
||||
|
@ -1391,29 +738,12 @@
|
|||
"Nncase.FlatBuffers": "[2.0.0, )"
|
||||
}
|
||||
},
|
||||
"AnyTensorFlow.NET": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[0.70.1, )",
|
||||
"resolved": "0.70.1",
|
||||
"contentHash": "uUXNveJhZuvBue8ixPXKkMwYUeKBeVNVqptNlhmTe+YhIwn6xke1WSg3EfUJrjmmF6xkJtAYhE4H0Ejj/+H0aA==",
|
||||
"dependencies": {
|
||||
"MethodBoundaryAspect.Fody": "2.0.144",
|
||||
"Protobuf.Text": "0.5.0",
|
||||
"Serilog.Sinks.Console": "4.0.1"
|
||||
}
|
||||
},
|
||||
"Extension.Mathematics": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[1.2.12, )",
|
||||
"resolved": "1.2.12",
|
||||
"contentHash": "D4mn5Cab4ztPLJ0V8uMErDrO/Y61098nwrvyIOLZymVAYOQcwP1vomVWKbTagf1aPU3cX5Q7adZtQEQwOy6XEg=="
|
||||
},
|
||||
"Fody": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[6.6.4, )",
|
||||
"resolved": "6.0.5",
|
||||
"contentHash": "xfz4NwIIPs2xtfvpPlXz49cHYPeWBl/bnvlpW6OSpxKFAujAm7vLQ8Ma7aX3GYVjc/czn5+58QNUnDyb4gxiKA=="
|
||||
},
|
||||
"GiGraph.Dot": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[2.0.0, )",
|
||||
|
@ -1444,28 +774,6 @@
|
|||
"System.ValueTuple": "4.5.0"
|
||||
}
|
||||
},
|
||||
"MagicalTensorflowLib": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[0.0.2, )",
|
||||
"resolved": "0.0.2",
|
||||
"contentHash": "77rldBcc11n69dhtdbJUw3aDxBfVkr5a5raA5gY7sRrDbgJ00/4whx3XLnhn6uBzRsKlpm6jDdYG2fcDUZPfkQ=="
|
||||
},
|
||||
"MagicalTensorflowLibOSX-ARM64": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[0.0.4, )",
|
||||
"resolved": "0.0.4",
|
||||
"contentHash": "nycg8x7AMPaQrjF0vvwhL6idLLb/IWIMad7UbEO0btIz6dyNIZI3drYefSM8pzV5lOweoyj0zDr98YfsxbxG8Q=="
|
||||
},
|
||||
"MethodBoundaryAspect.Fody": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[2.0.148, )",
|
||||
"resolved": "2.0.144",
|
||||
"contentHash": "L4r4Dt+Q9/pwp1aAGn94V5PmcTa0nygJE1PXrCIHSiFaVA/vhDuo6I1qQCU9J7VF0V/HNcM8sI17gJiTNz8FXQ==",
|
||||
"dependencies": {
|
||||
"Fody": "6.0.5",
|
||||
"NETStandard.Library": "1.6.1"
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Hosting.Abstractions": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[6.0.0, )",
|
||||
|
|
|
@ -15,7 +15,6 @@ using Nncase.Diagnostics;
|
|||
using Nncase.IR;
|
||||
using Nncase.PatternMatch;
|
||||
using Nncase.Utilities;
|
||||
using Tensorflow;
|
||||
|
||||
namespace Nncase.Passes;
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -30,11 +30,6 @@ public static class EvaluateContextExtensions
|
|||
var tensor = context.GetArgumentValue(op, parameter).AsTensor().Cast<long>();
|
||||
return tensor.Shape.IsScalar ? tensor.ScalarToOrtTensor() : tensor.ToOrtTensor();
|
||||
}
|
||||
|
||||
public static Tensorflow.Tensor GetTFArgumentValue(this IEvaluateContext context, Op op, ParameterInfo parameter)
|
||||
{
|
||||
return context.GetArgumentValue(op, parameter).AsTensor().ToTFTensor();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -12,7 +12,6 @@ using NetFabric.Hyperlinq;
|
|||
using Nncase.Diagnostics;
|
||||
using Nncase.IR;
|
||||
using Nncase.TIR;
|
||||
using Tensorflow.Contexts;
|
||||
|
||||
namespace Nncase.Evaluator;
|
||||
|
||||
|
|
|
@ -1,98 +0,0 @@
|
|||
// Copyright (c) Canaan Inc. All rights reserved.
|
||||
// Licensed under the Apache license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.Buffers;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
using NetFabric.Hyperlinq;
|
||||
using Nncase.IR;
|
||||
using Tensorflow;
|
||||
using Tensorflow.NumPy;
|
||||
using static Tensorflow.c_api;
|
||||
using Shape = Tensorflow.Shape;
|
||||
|
||||
namespace Nncase.Evaluator;
|
||||
|
||||
/// <summary>
|
||||
/// TensorFlow extension.
|
||||
/// </summary>
|
||||
public static class TensorflowExtension
|
||||
{
|
||||
private static readonly Dictionary<DataType, TF_DataType> _dataTypesToTorchType = new()
|
||||
{
|
||||
{ DataTypes.Boolean, TF_DataType.TF_BOOL },
|
||||
{ DataTypes.Int8, TF_DataType.TF_INT8 },
|
||||
{ DataTypes.Int16, TF_DataType.TF_INT16 },
|
||||
{ DataTypes.Int32, TF_DataType.TF_INT32 },
|
||||
{ DataTypes.Int64, TF_DataType.TF_INT64 },
|
||||
{ DataTypes.UInt8, TF_DataType.TF_UINT8 },
|
||||
{ DataTypes.Float16, TF_DataType.TF_HALF },
|
||||
{ DataTypes.BFloat16, TF_DataType.TF_BFLOAT16 },
|
||||
{ DataTypes.Float32, TF_DataType.TF_FLOAT },
|
||||
{ DataTypes.Float64, TF_DataType.TF_DOUBLE },
|
||||
};
|
||||
|
||||
private static readonly Dictionary<TF_DataType, DataType> _TorchTypeTodataTypes = new()
|
||||
{
|
||||
{ TF_DataType.TF_BOOL, DataTypes.Boolean },
|
||||
{ TF_DataType.TF_INT8, DataTypes.Int8 },
|
||||
{ TF_DataType.TF_INT16, DataTypes.Int16 },
|
||||
{ TF_DataType.TF_INT32, DataTypes.Int32 },
|
||||
{ TF_DataType.TF_INT64, DataTypes.Int64 },
|
||||
{ TF_DataType.TF_UINT8, DataTypes.UInt8 },
|
||||
{ TF_DataType.TF_HALF, DataTypes.Float16 },
|
||||
{ TF_DataType.TF_BFLOAT16, DataTypes.BFloat16 },
|
||||
{ TF_DataType.TF_FLOAT, DataTypes.Float32 },
|
||||
{ TF_DataType.TF_DOUBLE, DataTypes.Float64 },
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Convert <see cref="Tensorflow.Tensor"/> to <see cref="Tensor"/>.
|
||||
/// </summary>
|
||||
/// <param name="tensor">Tensorflow tensor.</param>
|
||||
/// <returns>Converted tensor.</returns>
|
||||
public static Tensor ToTensor(this Tensorflow.Tensor tensor)
|
||||
{
|
||||
var memory = tensor.BufferToArray().AsMemory();
|
||||
return Tensor.FromBytes(ToDataType(tensor.dtype), memory, tensor.shape.as_int_list());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Convert <see cref="Tensorflow.Tensor"/> to <see cref="TensorValue"/>.
|
||||
/// </summary>
|
||||
/// <param name="tensor">Tensorflow tensor.</param>
|
||||
/// <returns>Converted value.</returns>
|
||||
public static TensorValue ToValue(this Tensorflow.Tensor tensor)
|
||||
{
|
||||
return tensor.ToTensor();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Convert <see cref="Tensor"/> to <see cref="Tensorflow.Tensor"/>.
|
||||
/// </summary>
|
||||
/// <param name="tensor">Tensor.</param>
|
||||
/// <returns>Converted torch tensor.</returns>
|
||||
public static unsafe Tensorflow.Tensor ToTFTensor(this Tensor tensor)
|
||||
{
|
||||
// TODO: Fix null reference exception
|
||||
#if false
|
||||
var dtype = tensor.ElementType.ToTFType();
|
||||
var bufferHandle = tensor.PinBuffer();
|
||||
c_api.Deallocator deallocator = (IntPtr data, IntPtr size, ref c_api.DeallocatorArgs args) =>
|
||||
{
|
||||
bufferHandle.Dispose();
|
||||
};
|
||||
var handle = c_api.TF_NewTensor(dtype, tensor.Dimensions.ToLongs(), tensor.Rank, (IntPtr)bufferHandle.Pointer, (ulong)tensor.Length * (ulong)tensor.ElementType.SizeInBytes, deallocator, (IntPtr)_deallocatorArgs);
|
||||
return new Tensorflow.Tensor(handle);
|
||||
#else
|
||||
return new NDArray(tensor.BytesBuffer.ToArray(), tensor.Dimensions.ToArray(), tensor.ElementType.ToTFType());
|
||||
#endif
|
||||
}
|
||||
|
||||
public static TF_DataType ToTFType(this DataType dt) => _dataTypesToTorchType[dt];
|
||||
|
||||
public static DataType ToDataType(this TF_DataType dt) => _TorchTypeTodataTypes[dt];
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
// Copyright (c) Canaan Inc. All rights reserved.
|
||||
// Licensed under the Apache license. See LICENSE file in the project root for full license information.
|
|
@ -4,18 +4,15 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using NetFabric.Hyperlinq;
|
||||
using Nncase.CostModel;
|
||||
using Nncase.IR;
|
||||
using Nncase.IR.Imaging;
|
||||
using Nncase.IR.Tensors;
|
||||
using OrtKISharp;
|
||||
using Tensorflow;
|
||||
using Tensorflow.NumPy;
|
||||
using static Nncase.PatternMatch.F.Math;
|
||||
using static Nncase.PatternMatch.Utility;
|
||||
using static Tensorflow.Binding;
|
||||
|
||||
namespace Nncase.Evaluator.Imaging;
|
||||
|
||||
|
@ -27,54 +24,7 @@ public class ResizeImageEvaluator : IEvaluator<ResizeImage>, ITypeInferencer<Res
|
|||
/// <inheritdoc/>
|
||||
public IValue Visit(IEvaluateContext context, ResizeImage target)
|
||||
{
|
||||
return target.IsTFResize
|
||||
? TFResize(context, target)
|
||||
: OnnxResize(context, target);
|
||||
}
|
||||
|
||||
public IValue TFResize(IEvaluateContext context, ResizeImage target)
|
||||
{
|
||||
var input = context.GetTFArgumentValue(target, ResizeImage.Input);
|
||||
|
||||
// when HasBindedMixQuantInfo is true, eval will do simulation of quant/dequant for some inputs, this is used for evaluate accumulated quant error for layers.
|
||||
if (context.CurrentCall.EnodeBestQuantConfigWithCosine != null)
|
||||
{
|
||||
var pattern = IsRangeOfMarker(IsWildcard(), IsWildcard());
|
||||
if (pattern.MatchLeaf(context.CurrentCall.Arguments.ToArray()[0]) && ((Nncase.IR.Marker)context.CurrentCall.Arguments.ToArray()[0]).MixQuantInfo?.HasBindedMixQuantInfo == true)
|
||||
{
|
||||
var quantParam = ((Nncase.IR.Marker)context.CurrentCall.Arguments.ToArray()[0]).MixQuantInfo!.QuantParameter;
|
||||
|
||||
// input feature map quantParam count should be 1 since input feature map quant is by tensor.
|
||||
Trace.Assert(quantParam.Count == 1);
|
||||
var inputFloat = input.ToArray<float>();
|
||||
for (var i = 0; i < inputFloat.Length; i++)
|
||||
{
|
||||
var inputBufQuant = (double)((inputFloat[i] / (double)quantParam[0].Scale) + quantParam[0].ZeroPoint);
|
||||
if (!(quantParam[0].Scale == 1.0f && quantParam[0].ZeroPoint == 0))
|
||||
{
|
||||
inputBufQuant = System.Math.Round((double)(float)inputBufQuant);
|
||||
}
|
||||
|
||||
var inputBufDeQuant = (float)((inputBufQuant - quantParam[0].ZeroPoint) * (double)quantParam[0].Scale);
|
||||
inputFloat[i] = (float)inputBufDeQuant;
|
||||
}
|
||||
|
||||
input = tf.constant(inputFloat, TF_DataType.TF_FLOAT, input.shape);
|
||||
}
|
||||
}
|
||||
|
||||
input = tf.transpose(input, new[] { 0, 2, 3, 1 });
|
||||
var sizes = context.GetArgumentValueAsArray<int>(target, ResizeImage.NewSize);
|
||||
var halfPixelCenter = target.TransformationMode == ImageResizeTransformationMode.HalfPixel;
|
||||
var alignCorners = target.TransformationMode == ImageResizeTransformationMode.AlignCorners;
|
||||
var size = new NDArray(new[] { sizes[2], sizes[3] }, new[] { 2 });
|
||||
var output = target.ResizeMode switch
|
||||
{
|
||||
ImageResizeMode.Bilinear => tf.image.resize_bilinear(input, size, alignCorners, halfPixelCenter),
|
||||
ImageResizeMode.NearestNeighbor => tf.image.resize_nearest_neighbor(input, size, alignCorners, string.Empty, halfPixelCenter),
|
||||
_ => throw new NotSupportedException($"TFResize Not suppoprted {target.ResizeMode}"),
|
||||
};
|
||||
return tf.transpose(output, new[] { 0, 3, 1, 2 }).ToValue();
|
||||
return OnnxResize(context, target);
|
||||
}
|
||||
|
||||
public IValue OnnxResize(IEvaluateContext context, ResizeImage target)
|
||||
|
@ -82,7 +32,7 @@ public class ResizeImageEvaluator : IEvaluator<ResizeImage>, ITypeInferencer<Res
|
|||
var input = context.GetOrtArgumentValue(target, ResizeImage.Input);
|
||||
var roi = context.GetOptionalOrtArgumentValue(target, ResizeImage.Roi, Array.Empty<float>());
|
||||
var sizes = context.GetInt64OrtTensorArgumentValue(target, ResizeImage.NewSize);
|
||||
var cubicCoeffA = context.GetOptionArgumentValueAsScalar<float>(target, ResizeImage.CubicCoeffA, -0.75f);
|
||||
var cubicCoeffA = context.GetOptionArgumentValueAsScalar<float>(target, ResizeImage.CubicCoeffA, target.IsTFResize ? -0.5f : -0.75f);
|
||||
var excludeOutside = context.GetOptionArgumentValueAsScalar<long>(target, ResizeImage.ExcludeOutside, 0);
|
||||
var extrapolationValue = context.GetOptionArgumentValueAsScalar<float>(target, ResizeImage.ExtrapolationValue, 0f);
|
||||
|
||||
|
@ -113,16 +63,48 @@ public class ResizeImageEvaluator : IEvaluator<ResizeImage>, ITypeInferencer<Res
|
|||
}
|
||||
}
|
||||
|
||||
return OrtKI.ResizeWithSizes(
|
||||
input,
|
||||
roi,
|
||||
sizes,
|
||||
ResizeModeHelper.ToString(target.TransformationMode),
|
||||
cubicCoeffA,
|
||||
excludeOutside,
|
||||
extrapolationValue,
|
||||
ResizeModeHelper.ToString(target.ResizeMode),
|
||||
ResizeModeHelper.ToString(target.NearestMode)).ToValue();
|
||||
if (target.IsTFResize)
|
||||
{
|
||||
var transformationMode = "asymmetric";
|
||||
var nearestMode = "floor";
|
||||
if (target.TransformationMode == ImageResizeTransformationMode.AlignCorners)
|
||||
{
|
||||
transformationMode = "align_corners";
|
||||
nearestMode = "round_prefer_ceil";
|
||||
}
|
||||
else if (target.TransformationMode == ImageResizeTransformationMode.HalfPixel)
|
||||
{
|
||||
transformationMode = target.ResizeMode switch
|
||||
{
|
||||
ImageResizeMode.NearestNeighbor => "tf_half_pixel_for_nn",
|
||||
_ => "half_pixel",
|
||||
};
|
||||
}
|
||||
|
||||
return OrtKI.ResizeWithSizes(
|
||||
input,
|
||||
roi.Cast(OrtDataType.Float),
|
||||
sizes,
|
||||
transformationMode,
|
||||
cubicCoeffA,
|
||||
excludeOutside,
|
||||
extrapolationValue,
|
||||
ResizeModeHelper.ToString(target.ResizeMode),
|
||||
nearestMode).ToValue();
|
||||
}
|
||||
else
|
||||
{
|
||||
return OrtKI.ResizeWithSizes(
|
||||
input,
|
||||
roi,
|
||||
sizes,
|
||||
ResizeModeHelper.ToString(target.TransformationMode),
|
||||
cubicCoeffA,
|
||||
excludeOutside,
|
||||
extrapolationValue,
|
||||
ResizeModeHelper.ToString(target.ResizeMode),
|
||||
ResizeModeHelper.ToString(target.NearestMode)).ToValue();
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
|
|
@ -6,7 +6,6 @@ using Nncase.CostModel;
|
|||
using Nncase.IR;
|
||||
using Nncase.IR.Math;
|
||||
using OrtKISharp;
|
||||
using Tensorflow;
|
||||
|
||||
namespace Nncase.Evaluator.Math;
|
||||
|
||||
|
|
|
@ -3,14 +3,10 @@
|
|||
|
||||
using System;
|
||||
using System.Linq;
|
||||
using NetFabric.Hyperlinq;
|
||||
using Nncase.CostModel;
|
||||
using Nncase.IR;
|
||||
using Nncase.IR.NN;
|
||||
using OrtKISharp;
|
||||
using Tensorflow;
|
||||
using Tensorflow.NumPy;
|
||||
using static Tensorflow.Binding;
|
||||
|
||||
namespace Nncase.Evaluator.NN;
|
||||
|
||||
|
@ -22,9 +18,7 @@ public class OneHotEvaluator : IEvaluator<OneHot>, ITypeInferencer<OneHot>, ICos
|
|||
/// <inheritdoc/>
|
||||
public IValue Visit(IEvaluateContext context, OneHot oneHot)
|
||||
{
|
||||
return oneHot.OneHotMode == OneHotMode.ProcessNeg
|
||||
? OnnxOneHot(context, oneHot)
|
||||
: TFOneHot(context, oneHot);
|
||||
return OnnxOneHot(context, oneHot);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
@ -45,57 +39,23 @@ public class OneHotEvaluator : IEvaluator<OneHot>, ITypeInferencer<OneHot>, ICos
|
|||
};
|
||||
}
|
||||
|
||||
private static IValue TF_OneHot(
|
||||
Tensorflow.Tensor indices,
|
||||
Tensorflow.Tensor depth,
|
||||
Tensorflow.Tensor on_value,
|
||||
Tensorflow.Tensor off_value,
|
||||
TF_DataType dtype = TF_DataType.DtInvalid,
|
||||
int axis = -1,
|
||||
string name = "")
|
||||
{
|
||||
return tf_with(
|
||||
ops.name_scope(name, nameof(TF_OneHot), new
|
||||
{
|
||||
indices,
|
||||
depth,
|
||||
dtype,
|
||||
}),
|
||||
scope =>
|
||||
{
|
||||
if (dtype == TF_DataType.DtInvalid)
|
||||
{
|
||||
dtype = TF_DataType.TF_FLOAT;
|
||||
}
|
||||
|
||||
on_value = ops.convert_to_tensor(on_value, dtype, nameof(on_value));
|
||||
off_value = ops.convert_to_tensor(off_value, dtype, name = nameof(off_value));
|
||||
return gen_array_ops.one_hot(indices, depth, on_value, off_value, axis: axis, name: name);
|
||||
}).ToValue();
|
||||
}
|
||||
|
||||
private IValue OnnxOneHot(IEvaluateContext context, OneHot oneHot)
|
||||
{
|
||||
var indices = context.GetArgumentValueAsTensor<long>(oneHot, OneHot.Indices);
|
||||
var indices = context.GetArgumentValueAsTensor<long>(oneHot, OneHot.Indices).ToOrtTensor();
|
||||
var depth = context.GetInt64OrtTensorArgumentValue(oneHot, OneHot.Depth);
|
||||
var values = context.GetOrtArgumentValue(oneHot, OneHot.Values);
|
||||
var values = context.GetArgumentValueAsTensor(oneHot, OneHot.Values);
|
||||
var axis = context.GetArgumentValueAsScalar<long>(oneHot, OneHot.Axis);
|
||||
return OrtKI.OneHot(indices.ToOrtTensor(), depth, values, axis).ToValue();
|
||||
}
|
||||
|
||||
private IValue TFOneHot(IEvaluateContext context, OneHot oneHot)
|
||||
{
|
||||
var depth = context.GetArgumentValueAsScalar<int>(oneHot, OneHot.Depth);
|
||||
var indices = context.GetTFArgumentValue(oneHot, OneHot.Indices);
|
||||
var values = context.GetTFArgumentValue(oneHot, OneHot.Values);
|
||||
var axis = context.GetArgumentValueAsScalar<int>(oneHot, OneHot.Axis);
|
||||
return TF_OneHot(
|
||||
indices,
|
||||
ops.convert_to_tensor(depth),
|
||||
values[1],
|
||||
values[0],
|
||||
TF_DataType.TF_FLOAT,
|
||||
axis);
|
||||
var onnxValues = values.ElementType == DataTypes.Float32 ? values.ToOrtTensor()
|
||||
: values.Cast<float>().ToOrtTensor();
|
||||
|
||||
// Set negative indices to depth + 1.
|
||||
if (oneHot.OneHotMode == OneHotMode.Normal)
|
||||
{
|
||||
indices = OrtKI.Where(OrtKI.Less(indices, 0L), depth, indices);
|
||||
}
|
||||
|
||||
return new TensorValue(OrtKI.OneHot(indices, depth, onnxValues, axis).ToTensor().CastTo(values.ElementType));
|
||||
}
|
||||
|
||||
private IRType Visit(ITypeInferenceContext context, OneHot target, TensorType indices, TensorType values)
|
||||
|
|
|
@ -2,19 +2,16 @@
|
|||
// Licensed under the Apache license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using NetFabric.Hyperlinq;
|
||||
using Nncase.CostModel;
|
||||
using Nncase.IR;
|
||||
using Nncase.IR.NN;
|
||||
using OrtKISharp;
|
||||
using Tensorflow;
|
||||
using Tensorflow.NumPy;
|
||||
using static Nncase.Evaluator.EvaluatorUtil;
|
||||
using static Nncase.PatternMatch.F.Math;
|
||||
using static Nncase.PatternMatch.Utility;
|
||||
using static Tensorflow.Binding;
|
||||
|
||||
namespace Nncase.Evaluator.NN;
|
||||
|
||||
|
@ -29,16 +26,12 @@ public class PadEvaluator : IEvaluator<Pad>, ITypeInferencer<Pad>, ICostEvaluato
|
|||
var input = context.GetOrtArgumentValue(pad, Pad.Input);
|
||||
var pads = context.GetInt64OrtTensorArgumentValue(pad, Pad.Pads);
|
||||
var constValue = context.GetOrtArgumentValue(pad, Pad.Value);
|
||||
if (pad.PadMode == PadMode.Symmetric)
|
||||
{
|
||||
var result = SymmetricPad(context, pad);
|
||||
return result;
|
||||
}
|
||||
|
||||
var mode = pad.PadMode switch
|
||||
{
|
||||
PadMode.Constant => "constant",
|
||||
PadMode.Reflect => "reflect",
|
||||
PadMode.Symmetric => "reflect",
|
||||
PadMode.Edge => "edge",
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(pad)),
|
||||
};
|
||||
|
@ -70,47 +63,14 @@ public class PadEvaluator : IEvaluator<Pad>, ITypeInferencer<Pad>, ICostEvaluato
|
|||
}
|
||||
}
|
||||
|
||||
return OrtKI.Pad(input, ToOnnxPadFormat(pads), constValue, mode).ToValue();
|
||||
}
|
||||
|
||||
public IValue SymmetricPad(IEvaluateContext context, Pad pad)
|
||||
{
|
||||
var input = context.GetTFArgumentValue(pad, Pad.Input);
|
||||
var pads = context.GetTFArgumentValue(pad, Pad.Pads);
|
||||
var mode = "SYMMETRIC";
|
||||
|
||||
// when HasBindedMixQuantInfo is true, eval will do simulation of quant/dequant for some inputs, this is used for evaluate accumulated quant error for layers.
|
||||
if (context.CurrentCall.EnodeBestQuantConfigWithCosine != null)
|
||||
if (pad.PadMode == PadMode.Symmetric)
|
||||
{
|
||||
var pattern = IsRangeOfMarker(IsWildcard(), IsWildcard());
|
||||
if (pattern.MatchLeaf(context.CurrentCall.Arguments.ToArray()[0]) && ((Nncase.IR.Marker)context.CurrentCall.Arguments.ToArray()[0]).MixQuantInfo?.HasBindedMixQuantInfo == true)
|
||||
{
|
||||
var quantParam = ((Nncase.IR.Marker)context.CurrentCall.Arguments.ToArray()[0]).MixQuantInfo!.QuantParameter;
|
||||
|
||||
// input feature map quantParam count should be 1 since input feature map quant is by tensor.
|
||||
Trace.Assert(quantParam.Count == 1);
|
||||
var inputFloat = input.ToArray<float>();
|
||||
for (var i = 0; i < inputFloat.Length; i++)
|
||||
{
|
||||
var inputBufQuant = (double)((inputFloat[i] / (double)quantParam[0].Scale) + quantParam[0].ZeroPoint);
|
||||
if (!(quantParam[0].Scale == 1.0f && quantParam[0].ZeroPoint == 0))
|
||||
{
|
||||
inputBufQuant = System.Math.Round((double)(float)inputBufQuant);
|
||||
}
|
||||
|
||||
var inputBufDeQuant = (float)((inputBufQuant - quantParam[0].ZeroPoint) * (double)quantParam[0].Scale);
|
||||
inputFloat[i] = (float)inputBufDeQuant;
|
||||
}
|
||||
|
||||
input = tf.constant(inputFloat, TF_DataType.TF_FLOAT, input.shape);
|
||||
}
|
||||
return SymmetricPad(input, ToOnnxPadFormat(pads), constValue).ToValue();
|
||||
}
|
||||
else
|
||||
{
|
||||
return OrtKI.Pad(input, ToOnnxPadFormat(pads), constValue, mode).ToValue();
|
||||
}
|
||||
|
||||
var result = tf.Context.ExecuteOp(
|
||||
"MirrorPad",
|
||||
null!,
|
||||
new ExecuteOpArgs(input, pads).SetAttributes(new { mode }))[0];
|
||||
return result.ToValue();
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
@ -134,4 +94,35 @@ public class PadEvaluator : IEvaluator<Pad>, ITypeInferencer<Pad>, ICostEvaluato
|
|||
[CostFactorNames.MemoryStore] = outputType is TensorType outT ? CostUtility.GetMemoryAccess(outT) : CostUtility.GetMemoryAccess(inputType),
|
||||
};
|
||||
}
|
||||
|
||||
private OrtKISharp.Tensor SymmetricPad(OrtKISharp.Tensor input, long[] pads, OrtKISharp.Tensor constValue)
|
||||
{
|
||||
// Currently there isn't a symmetric padding mode in ONNX so we add a dummy row then use the reflect mode
|
||||
// and remove the dummy row with compress.Ex: 1234-> 012340-> 2101234043-> 21123443.Only do this to
|
||||
// dims with non - zero pads(if pads are constant)
|
||||
var rank = input.Rank;
|
||||
var nonZeroAxes = new List<int>();
|
||||
var incPads = new long[rank * 2];
|
||||
for (int i = 0; i < rank; i++)
|
||||
{
|
||||
if (pads[i] != 0 || pads[i + rank] != 0)
|
||||
{
|
||||
nonZeroAxes.Add(i);
|
||||
incPads[i] = 1;
|
||||
incPads[i + rank] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
var paddedInput = OrtKI.Pad(input, incPads, constValue, "constant");
|
||||
var output = OrtKI.Pad(paddedInput, pads, constValue, "reflect");
|
||||
foreach (var axis in nonZeroAxes)
|
||||
{
|
||||
var originLen = (int)input.Shape[axis];
|
||||
var leftPad = (int)pads[axis];
|
||||
var indices = Enumerable.Range(0, leftPad).Concat(Enumerable.Range(leftPad + 1, originLen)).Concat(Enumerable.Range(leftPad + originLen + 2, (int)pads[axis + rank])).ToArray();
|
||||
output = OrtKI.Gather(output, indices, axis);
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,9 +7,6 @@
|
|||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="OrtKISharp" />
|
||||
<PackageReference Include="MagicalTensorflowLib" />
|
||||
<PackageReference Include="MagicalTensorflowLibOSX-ARM64" />
|
||||
<PackageReference Include="AnyTensorFlow.NET" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -9,11 +9,8 @@ using Nncase.CostModel;
|
|||
using Nncase.IR;
|
||||
using Nncase.IR.Tensors;
|
||||
using OrtKISharp;
|
||||
using Tensorflow;
|
||||
using Tensorflow.NumPy;
|
||||
using static Nncase.PatternMatch.F.Math;
|
||||
using static Nncase.PatternMatch.Utility;
|
||||
using static Tensorflow.Binding;
|
||||
|
||||
namespace Nncase.Evaluator.Tensors;
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -14,7 +14,6 @@ using System.Text.RegularExpressions;
|
|||
using System.Threading.Tasks;
|
||||
using Nncase.IR;
|
||||
using Nncase.Utilities;
|
||||
using Tensorflow.Contexts;
|
||||
|
||||
namespace Nncase.PatternMatch;
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -11,7 +11,6 @@ using Nncase.IR.Math;
|
|||
using Nncase.IR.NN;
|
||||
using Nncase.Passes.Analysis;
|
||||
using Nncase.PatternMatch;
|
||||
using Tensorflow;
|
||||
using static Nncase.IR.F.Math;
|
||||
using static Nncase.IR.F.NN;
|
||||
using static Nncase.IR.F.Tensors;
|
||||
|
|
|
@ -13,7 +13,6 @@ using Nncase.IR.NN;
|
|||
using Nncase.IR.Tensors;
|
||||
using Nncase.PatternMatch;
|
||||
using Nncase.Utilities;
|
||||
using Tensorflow;
|
||||
using static Nncase.IR.F.Math;
|
||||
using static Nncase.IR.F.NN;
|
||||
using static Nncase.IR.F.Tensors;
|
||||
|
|
|
@ -10,7 +10,6 @@ using Nncase.IR;
|
|||
using Nncase.IR.Math;
|
||||
using Nncase.IR.NN;
|
||||
using Nncase.PatternMatch;
|
||||
using Tensorflow;
|
||||
using static Nncase.IR.F.Math;
|
||||
using static Nncase.IR.F.NN;
|
||||
using static Nncase.IR.F.Tensors;
|
||||
|
|
|
@ -12,7 +12,6 @@ using Nncase.IR.Math;
|
|||
using Nncase.IR.Tensors;
|
||||
using Nncase.PatternMatch;
|
||||
using Nncase.Utilities;
|
||||
using Tensorflow;
|
||||
using static Nncase.IR.F.Math;
|
||||
using static Nncase.IR.F.Tensors;
|
||||
using static Nncase.IR.TypePatternUtility;
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
using Nncase.IR;
|
||||
using Nncase.IR.Math;
|
||||
using Nncase.PatternMatch;
|
||||
using Tensorflow.Operations.Activation;
|
||||
using static Nncase.PatternMatch.F.Math;
|
||||
using static Nncase.PatternMatch.F.NN;
|
||||
using static Nncase.PatternMatch.Utility;
|
||||
|
|
|
@ -5,11 +5,9 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.Collections.Immutable;
|
||||
using System.Linq;
|
||||
using NetFabric.Hyperlinq;
|
||||
using Nncase.IR;
|
||||
using Nncase.IR.NN;
|
||||
using Nncase.PatternMatch;
|
||||
using Tensorflow;
|
||||
using static Nncase.IR.F.NN;
|
||||
using static Nncase.IR.F.Tensors;
|
||||
using static Nncase.PatternMatch.F.NN;
|
||||
|
|
|
@ -8,7 +8,6 @@ using System.Linq;
|
|||
using Nncase.IR;
|
||||
using Nncase.IR.Tensors;
|
||||
using Nncase.PatternMatch;
|
||||
using Tensorflow;
|
||||
using static Nncase.IR.F.NN;
|
||||
using static Nncase.IR.F.Tensors;
|
||||
using static Nncase.IR.TypePatternUtility;
|
||||
|
|
|
@ -7,7 +7,6 @@ using System.Collections.Immutable;
|
|||
using System.Linq;
|
||||
using Nncase.IR;
|
||||
using Nncase.PatternMatch;
|
||||
using Tensorflow;
|
||||
using static Nncase.IR.F.NN;
|
||||
using static Nncase.IR.F.Tensors;
|
||||
using static Nncase.IR.TypePatternUtility;
|
||||
|
|
|
@ -12,7 +12,6 @@ using Nncase.IR.Math;
|
|||
using Nncase.IR.NN;
|
||||
using Nncase.IR.Tensors;
|
||||
using Nncase.PatternMatch;
|
||||
using Tensorflow;
|
||||
using static Nncase.IR.F.Tensors;
|
||||
using static Nncase.IR.TypePatternUtility;
|
||||
using static Nncase.PatternMatch.F.Math;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -8,7 +8,6 @@ using System.Text;
|
|||
using System.Threading.Tasks;
|
||||
using Nncase.Evaluator;
|
||||
using Nncase.Passes;
|
||||
using Tensorflow;
|
||||
|
||||
namespace Nncase.Quantization;
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@ using System.Text;
|
|||
using System.Threading.Tasks;
|
||||
using Nncase.Evaluator;
|
||||
using Nncase.Passes;
|
||||
using Tensorflow;
|
||||
|
||||
namespace Nncase.Quantization;
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@ using System.Text;
|
|||
using System.Threading.Tasks;
|
||||
using Nncase.Evaluator;
|
||||
using Nncase.Passes;
|
||||
using Tensorflow;
|
||||
|
||||
namespace Nncase.Quantization;
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -3,7 +3,6 @@
|
|||
|
||||
using Nncase.IR;
|
||||
using Nncase.Utilities;
|
||||
using static Tensorflow.tensorflow;
|
||||
|
||||
namespace Nncase.Tests;
|
||||
|
||||
|
|
|
@ -262,14 +262,6 @@
|
|||
"System.Xml.XDocument": "4.0.11"
|
||||
}
|
||||
},
|
||||
"Protobuf.Text": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.5.0",
|
||||
"contentHash": "GVu3Y7hyybXv8nmKp9HtSzj1g0+rmNSZ4brM5t0auqpwYFYi5lL02UX9Nu9355DgPQbALLWUnjx+h2PttUNieg==",
|
||||
"dependencies": {
|
||||
"Google.Protobuf": "3.11.3"
|
||||
}
|
||||
},
|
||||
"runtime.native.System": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.0.0",
|
||||
|
@ -306,19 +298,6 @@
|
|||
"Microsoft.NETCore.Targets": "1.0.1"
|
||||
}
|
||||
},
|
||||
"Serilog": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.10.0",
|
||||
"contentHash": "+QX0hmf37a0/OZLxM3wL7V6/ADvC1XihXN4Kq/p6d8lCPfgkRdiuhbWlMaFjR9Av0dy5F0+MBeDmDdRZN/YwQA=="
|
||||
},
|
||||
"Serilog.Sinks.Console": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.0.1",
|
||||
"contentHash": "apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==",
|
||||
"dependencies": {
|
||||
"Serilog": "2.10.0"
|
||||
}
|
||||
},
|
||||
"StyleCop.Analyzers.Unstable": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.2.0.435",
|
||||
|
@ -1101,9 +1080,6 @@
|
|||
"nncase.evaluator": {
|
||||
"type": "Project",
|
||||
"dependencies": {
|
||||
"AnyTensorFlow.NET": "[0.70.1, )",
|
||||
"MagicalTensorflowLib": "[0.0.2, )",
|
||||
"MagicalTensorflowLibOSX-ARM64": "[0.0.4, )",
|
||||
"Nncase.Core": "[1.0.0, )",
|
||||
"OrtKISharp": "[0.0.2, )"
|
||||
}
|
||||
|
@ -1140,17 +1116,6 @@
|
|||
"Nncase.Core": "[1.0.0, )"
|
||||
}
|
||||
},
|
||||
"AnyTensorFlow.NET": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[0.70.1, )",
|
||||
"resolved": "0.70.1",
|
||||
"contentHash": "uUXNveJhZuvBue8ixPXKkMwYUeKBeVNVqptNlhmTe+YhIwn6xke1WSg3EfUJrjmmF6xkJtAYhE4H0Ejj/+H0aA==",
|
||||
"dependencies": {
|
||||
"MethodBoundaryAspect.Fody": "2.0.144",
|
||||
"Protobuf.Text": "0.5.0",
|
||||
"Serilog.Sinks.Console": "4.0.1"
|
||||
}
|
||||
},
|
||||
"DryIoc.dll": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[5.3.1, )",
|
||||
|
@ -1169,27 +1134,6 @@
|
|||
"resolved": "2.0.0",
|
||||
"contentHash": "ThvS2mQVveSkTMUm04tMbRYzu1XFPV8xBHISrUMp02APjhv9IRbLu3v3upTPCywORx2Ds/c6AqEUL1WU6kPfuQ=="
|
||||
},
|
||||
"Google.Protobuf": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[3.19.4, )",
|
||||
"resolved": "3.11.3",
|
||||
"contentHash": "PNbDbGVo75AHZYLlIFjtEbxcZ2x5VxbOihix8oz0YXJ9hf1unDwZ2tOolRQLr6UqLAVC+MedOFnYLCBj+BrZwA==",
|
||||
"dependencies": {
|
||||
"System.Memory": "4.5.2"
|
||||
}
|
||||
},
|
||||
"MagicalTensorflowLib": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[0.0.2, )",
|
||||
"resolved": "0.0.2",
|
||||
"contentHash": "77rldBcc11n69dhtdbJUw3aDxBfVkr5a5raA5gY7sRrDbgJ00/4whx3XLnhn6uBzRsKlpm6jDdYG2fcDUZPfkQ=="
|
||||
},
|
||||
"MagicalTensorflowLibOSX-ARM64": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[0.0.4, )",
|
||||
"resolved": "0.0.4",
|
||||
"contentHash": "nycg8x7AMPaQrjF0vvwhL6idLLb/IWIMad7UbEO0btIz6dyNIZI3drYefSM8pzV5lOweoyj0zDr98YfsxbxG8Q=="
|
||||
},
|
||||
"Microsoft.Extensions.Hosting": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[6.0.0, )",
|
||||
|
|
|
@ -420,7 +420,7 @@ public class UnitTestEvaluatorNN : TestClassBase
|
|||
var a = new int[] { 1, 2, 0, 3 };
|
||||
var indices = Tensor.From(a, new[] { 4 });
|
||||
var depth = 5;
|
||||
var values = Tensor.From(new int[] { 0, 1 }, new Shape(new[] { 2 }));
|
||||
var values = Tensor.From(new float[] { 0, 1 }, new Shape(new[] { 2 }));
|
||||
var axis = 0L;
|
||||
|
||||
var b = new float[] { 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 };
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"profiles": {
|
||||
"Nncase.Tests": {
|
||||
"commandName": "Project",
|
||||
"nativeDebugging": false
|
||||
"nativeDebugging": true
|
||||
}
|
||||
}
|
||||
}
|
|
@ -15,7 +15,6 @@ using Nncase.IR.Tensors;
|
|||
using Nncase.Passes;
|
||||
using Nncase.Passes.Rules.Neutral;
|
||||
using Nncase.PatternMatch;
|
||||
using Tensorflow;
|
||||
using Xunit;
|
||||
using static Nncase.IR.F.NN;
|
||||
using ITuple = Nncase.IR.ITuple;
|
||||
|
|
|
@ -13,7 +13,6 @@ using Nncase.Passes;
|
|||
using Nncase.Passes.Rules.Neutral;
|
||||
using Nncase.PatternMatch;
|
||||
using Nncase.Tests.TestFixture;
|
||||
using Tensorflow.Sessions;
|
||||
using Xunit;
|
||||
using static Nncase.IR.F.NN;
|
||||
using Math = Nncase.IR.F.Math;
|
||||
|
|
|
@ -13,7 +13,6 @@ using Nncase.Passes;
|
|||
using Nncase.Passes.Rules.Neutral;
|
||||
using Nncase.PatternMatch;
|
||||
using Nncase.Tests.TestFixture;
|
||||
using Tensorflow.Sessions;
|
||||
using Xunit;
|
||||
using static Nncase.IR.F.NN;
|
||||
using Math = Nncase.IR.F.Math;
|
||||
|
|
|
@ -15,7 +15,6 @@ using Nncase.IR.Tensors;
|
|||
using Nncase.Passes;
|
||||
using Nncase.Passes.Rules.Neutral;
|
||||
using Nncase.PatternMatch;
|
||||
using Tensorflow;
|
||||
using Xunit;
|
||||
using static Nncase.IR.F.NN;
|
||||
using ITuple = Nncase.IR.ITuple;
|
||||
|
|
|
@ -11,7 +11,6 @@ using System.Threading.Tasks;
|
|||
using Nncase.IR;
|
||||
using Nncase.Passes;
|
||||
using Nncase.Passes.Rules.Neutral;
|
||||
using Tensorflow;
|
||||
using Xunit;
|
||||
using Dimension = Nncase.IR.Dimension;
|
||||
using Math = Nncase.IR.F.Math;
|
||||
|
|
|
@ -10,7 +10,6 @@ using System.Text;
|
|||
using System.Threading.Tasks;
|
||||
using Nncase.Passes;
|
||||
using Nncase.Passes.Rules.Neutral;
|
||||
using Tensorflow;
|
||||
using Xunit;
|
||||
using Math = Nncase.IR.F.Math;
|
||||
using Random = Nncase.IR.F.Random;
|
||||
|
|
|
@ -14,7 +14,6 @@ using Nncase.IR.Math;
|
|||
using Nncase.IR.NN;
|
||||
using Nncase.Passes;
|
||||
using Nncase.Passes.Rules.Neutral;
|
||||
using Tensorflow.Operations.Initializers;
|
||||
using Xunit;
|
||||
using Math = Nncase.IR.F.Math;
|
||||
using Random = Nncase.IR.F.Random;
|
||||
|
|
|
@ -13,7 +13,6 @@ using Nncase.IR.F;
|
|||
using Nncase.Passes;
|
||||
using Nncase.Passes.Rules.Neutral;
|
||||
using Nncase.Tests.TestFixture;
|
||||
using Tensorflow.Sessions;
|
||||
using Xunit;
|
||||
using Math = Nncase.IR.F.Math;
|
||||
using Random = Nncase.IR.F.Random;
|
||||
|
|
|
@ -16,7 +16,6 @@ using Nncase.IR.Tensors;
|
|||
using Nncase.Passes.Rules.Neutral;
|
||||
using Nncase.Passes.Transforms;
|
||||
using Nncase.Tests.TestFixture;
|
||||
using Tensorflow.Operations.Initializers;
|
||||
using Xunit;
|
||||
using Math = Nncase.IR.F.Math;
|
||||
using Random = Nncase.IR.F.Random;
|
||||
|
|
|
@ -14,7 +14,6 @@ using Nncase.IR.Math;
|
|||
using Nncase.IR.NN;
|
||||
using Nncase.Passes;
|
||||
using Nncase.Passes.Rules.Neutral;
|
||||
using Tensorflow.Operations.Initializers;
|
||||
using Xunit;
|
||||
using Math = Nncase.IR.F.Math;
|
||||
using Random = Nncase.IR.F.Random;
|
||||
|
|
|
@ -10,7 +10,6 @@ using System.Text;
|
|||
using System.Threading.Tasks;
|
||||
using Nncase.Passes;
|
||||
using Nncase.Passes.Rules.Neutral;
|
||||
using Tensorflow;
|
||||
using Xunit;
|
||||
using Math = Nncase.IR.F.Math;
|
||||
using Random = Nncase.IR.F.Random;
|
||||
|
|
|
@ -13,7 +13,6 @@ using Nncase.Passes;
|
|||
using Nncase.Passes.Rules.Neutral;
|
||||
using Nncase.PatternMatch;
|
||||
using Nncase.Tests.TestFixture;
|
||||
using Tensorflow.Sessions;
|
||||
using Xunit;
|
||||
using static Nncase.IR.F.NN;
|
||||
using Math = Nncase.IR.F.Math;
|
||||
|
|
|
@ -12,7 +12,6 @@ using Nncase.Diagnostics;
|
|||
using Nncase.Passes;
|
||||
using Nncase.Passes.Rules.Neutral;
|
||||
using Nncase.Tests.TestFixture;
|
||||
using Tensorflow;
|
||||
using Xunit;
|
||||
using Math = Nncase.IR.F.Math;
|
||||
using Random = Nncase.IR.F.Random;
|
||||
|
|
|
@ -10,7 +10,6 @@ using System.Text;
|
|||
using System.Threading.Tasks;
|
||||
using Nncase.Passes;
|
||||
using Nncase.Passes.Rules.Neutral;
|
||||
using Tensorflow;
|
||||
using Xunit;
|
||||
using Math = Nncase.IR.F.Math;
|
||||
using Random = Nncase.IR.F.Random;
|
||||
|
|
|
@ -515,14 +515,6 @@
|
|||
"resolved": "5.0.0",
|
||||
"contentHash": "c5JVjuVAm4f7E9Vj+v09Z9s2ZsqFDjBpcsyS3M9xRo0bEdm/LVZSzLxxNvfvAwRiiE8nwe1h2G4OwiwlzFKXlA=="
|
||||
},
|
||||
"Protobuf.Text": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.5.0",
|
||||
"contentHash": "GVu3Y7hyybXv8nmKp9HtSzj1g0+rmNSZ4brM5t0auqpwYFYi5lL02UX9Nu9355DgPQbALLWUnjx+h2PttUNieg==",
|
||||
"dependencies": {
|
||||
"Google.Protobuf": "3.11.3"
|
||||
}
|
||||
},
|
||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
|
@ -630,19 +622,6 @@
|
|||
"resolved": "4.3.0",
|
||||
"contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg=="
|
||||
},
|
||||
"Serilog": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.10.0",
|
||||
"contentHash": "+QX0hmf37a0/OZLxM3wL7V6/ADvC1XihXN4Kq/p6d8lCPfgkRdiuhbWlMaFjR9Av0dy5F0+MBeDmDdRZN/YwQA=="
|
||||
},
|
||||
"Serilog.Sinks.Console": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.0.1",
|
||||
"contentHash": "apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==",
|
||||
"dependencies": {
|
||||
"Serilog": "2.10.0"
|
||||
}
|
||||
},
|
||||
"StyleCop.Analyzers.Unstable": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.2.0.435",
|
||||
|
@ -1504,9 +1483,6 @@
|
|||
"nncase.evaluator": {
|
||||
"type": "Project",
|
||||
"dependencies": {
|
||||
"AnyTensorFlow.NET": "[0.70.1, )",
|
||||
"MagicalTensorflowLib": "[0.0.2, )",
|
||||
"MagicalTensorflowLibOSX-ARM64": "[0.0.4, )",
|
||||
"Nncase.Core": "[1.0.0, )",
|
||||
"OrtKISharp": "[0.0.2, )"
|
||||
}
|
||||
|
@ -1589,17 +1565,6 @@
|
|||
"Nncase.FlatBuffers": "[2.0.0, )"
|
||||
}
|
||||
},
|
||||
"AnyTensorFlow.NET": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[0.70.1, )",
|
||||
"resolved": "0.70.1",
|
||||
"contentHash": "uUXNveJhZuvBue8ixPXKkMwYUeKBeVNVqptNlhmTe+YhIwn6xke1WSg3EfUJrjmmF6xkJtAYhE4H0Ejj/+H0aA==",
|
||||
"dependencies": {
|
||||
"MethodBoundaryAspect.Fody": "2.0.144",
|
||||
"Protobuf.Text": "0.5.0",
|
||||
"Serilog.Sinks.Console": "4.0.1"
|
||||
}
|
||||
},
|
||||
"DryIoc.dll": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[5.3.1, )",
|
||||
|
@ -1652,18 +1617,6 @@
|
|||
"System.ValueTuple": "4.5.0"
|
||||
}
|
||||
},
|
||||
"MagicalTensorflowLib": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[0.0.2, )",
|
||||
"resolved": "0.0.2",
|
||||
"contentHash": "77rldBcc11n69dhtdbJUw3aDxBfVkr5a5raA5gY7sRrDbgJ00/4whx3XLnhn6uBzRsKlpm6jDdYG2fcDUZPfkQ=="
|
||||
},
|
||||
"MagicalTensorflowLibOSX-ARM64": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[0.0.4, )",
|
||||
"resolved": "0.0.4",
|
||||
"contentHash": "nycg8x7AMPaQrjF0vvwhL6idLLb/IWIMad7UbEO0btIz6dyNIZI3drYefSM8pzV5lOweoyj0zDr98YfsxbxG8Q=="
|
||||
},
|
||||
"Microsoft.Extensions.Hosting.Abstractions": {
|
||||
"type": "CentralTransitive",
|
||||
"requested": "[6.0.0, )",
|
||||
|
|
|
@ -18,9 +18,9 @@ import nncase
|
|||
|
||||
|
||||
def test_targets(request):
|
||||
assert nncase.test_target("cpu")
|
||||
assert nncase.test_target("k210")
|
||||
#assert nncase.test_target("vulkan")
|
||||
assert nncase.check_target("cpu")
|
||||
#assert nncase.check_target("k210")
|
||||
#assert nncase.check_target("vulkan")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
Loading…
Reference in New Issue