我正在使用cmake v3.13,我想将我ExternalProject_Add()的SEAL库更改为:
include(FetchContent)
# Get the seal library
set(SEAL "seal")
FetchContent_Declare(
${SEAL}
GIT_REPOSITORY https://github.com/microsoft/SEAL
GIT_TAG v3.5.2
)
FetchContent_GetProperties(${SEAL})
if(NOT ${SEAL}_POPULATED)
FetchContent_Populate(${SEAL})
add_subdirectory(${${SEAL}_SOURCE_DIR} ${${SEAL}_BINARY_DIR})
endif()
Run Code Online (Sandbox Code Playgroud)
当我使用时,ExternalProject_Add()我已经使用过CMAKE_ARGS -DBUILD_SHARED_LIBS=ON并且这不适FetchContent_Declare()用于仅下载库。
该SEAL V3.5.2的CMakeLists.txt使用它来检查,如果要构建一个共享库的需求:
# Should we build also the shared library?
set(BUILD_SHARED_LIBS_STR "Build shared library")
option(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_STR} OFF)
if(MSVC AND BUILD_SHARED_LIBS)
message(WARNING "This build system only supports a static build; disabling `BUILD_SHARED_LIBS`")
set(BUILD_SHARED_LIBS OFF CACHE BOOL ${BUILD_SHARED_LIBS_STR} FORCE)
endif()
# Conditionally …Run Code Online (Sandbox Code Playgroud) 我正在使用PySEAL库做一个项目。我的项目与机器学习相关,所以我想使用 scikit-learn、pandas 和 numpy 库。如何安装这些库以便可以在 PySEAL docker 容器的代码中使用它们?
我在反序列化发送到 azure 函数的 JSON 时遇到一些问题。首先,我打算将一组密文类型的 post 发送到 azure,反序列化 JSON 以恢复我的数据,然后对该数据进行操作。我的类如下所示,sampleClass它有一个ciphertexttype属性Ciphertext:
[DataContract]
public class sampleClass
{
[DataMember]
public Ciphertext ciphertext { get; set; }
[JsonConstructor]
public sampleClass() { }
}
Run Code Online (Sandbox Code Playgroud)
这是我尝试序列化/反序列化的类。
为了发布数据,我使用 HttpClient 并将其发布为 JSON,如下所示:
HttpResponseMessage response = await client.PostAsJsonAsync("api/Function1", cipher);
Run Code Online (Sandbox Code Playgroud)
在我的azure函数中,我尝试将Json作为流读取并将其反序列化为sampleClass[],但是这引发了错误。
//Receive data from The Http PostRequest.
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
//De serialises to an object.
sampleClass[] array = JsonConvert.DeserializeObject<sampleClass[]>(requestBody);
Run Code Online (Sandbox Code Playgroud)
抛出的错误如下所示:
执行“Function1”(失败,Id=1be7633e-6b6a-4626-98b7-8fec98eac633)[11/02/2020 15:50:48] System.Private.CoreLib:执行函数时出现异常:Function1。Newtonsoft.Json:无法找到用于 Microsoft.Research.SEAL.Ciphertext 类型的构造函数。类应该具有默认构造函数、带参数的构造函数或标有 JsonConstructor 属性的构造函数。路径“[0].ciphertext.CoeffModCount”,第 1 行,位置 32。
当我尝试反序列化 …