AisDeployC
Deploy Library for Artificial Intelligence System
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions | Variables
interface.h File Reference

Go to the source code of this file.

Classes

struct  bounding_box
 
struct  classification
 

Macros

#define AisDeployC_API   extern "C"
 

Typedefs

typedef struct bounding_box bounding_box
 
typedef struct classification classification
 

Functions

AisDeployC_API int check_version ()
 检查当前库版本号与头文件版本号是否一致
 
AisDeployC_API std::string get_version ()
 获得当前库版本号
 
AisDeployC_API void * initialize (const char *model_path, int gpu_id, int *state)
 模型初始化
 
AisDeployC_API int process_images (void *base, std::vector< cv::Mat > &imgs)
 处理图片
 
AisDeployC_API int get_categories (void *base, std::vector< std::string > &out_categories)
 获得类别列表
 
AisDeployC_API int get_per_category_binary_masks (void *base, std::vector< std::vector< cv::Mat > > &per_category_masks)
 获得每类别的二值掩模
 
AisDeployC_API int get_per_category_score_maps (void *base, std::vector< std::vector< cv::Mat > > &per_category_score_maps)
 获得每类别的置信度图
 
AisDeployC_API int get_binary_mask_from_score_map (cv::Mat score_map, cv::Mat &binary_mask, float thresh)
 置信度图阈值处理获得二值掩模
 
AisDeployC_API int erode_binary_mask (cv::Mat &binary_mask, int kernel_size, int iter_erode)
 二值掩模腐蚀处理
 
AisDeployC_API int dilate_binary_mask (cv::Mat &binary_mask, int kernel_size, int iter_dilate)
 二值掩模膨胀处理
 
AisDeployC_API int cal_per_category_instances (void *base, std::vector< std::vector< cv::Mat > > per_category_score_maps, std::vector< std::vector< cv::Mat > > per_category_masks)
 计算每类别的实例 blob(输入掩模和置信度图)
 
AisDeployC_API int get_per_batch_instance_number (void *base, std::vector< int > &per_batch_instance_number)
 获得每个批次的实例个数
 
AisDeployC_API int get_per_batch_instances (void *base, std::vector< std::vector< bounding_box > > &per_batch_instances)
 获得每个批次的实例
 
AisDeployC_API int get_per_batch_instance_mask_areas (void *base, std::vector< std::vector< float > > &per_batch_instance_mask_areas)
 获得每个批次的实例掩模面积
 
AisDeployC_API int release (void *base)
 释放实例
 
AisDeployC_API int update_license (void *base, const char *path)
 更新授权文件信息
 
AisDeployC_API int generate_license (void *base)
 生成未授权文件
 
AisDeployC_API int py_process_json_str (void *base, const char *input, int input_size)
 python使用的处理json string输入格式的接口
 
AisDeployC_API int py_get_json_str_results (void *base, char **output, int *output_size)
 python使用的获取json string输出格式的接口
 
AisDeployC_API int py_free_result (char *output)
 python使用的释放返回结果的接口
 
AisDeployC_API int get_per_batch_embeddings (void *base, std::vector< std::vector< float > > &per_batch_embeddings)
 获得每个批次的图像特征嵌入
 
AisDeployC_API int get_per_batch_embeddings_3d (void *base, std::vector< std::vector< std::vector< std::vector< float > > > > &per_batch_embeddings)
 获得每个批次的图像3D特征嵌入
 
AisDeployC_API int process_embedding_3d_prompt (void *base, std::vector< std::vector< std::vector< std::vector< float > > > > batch_embeddings, std::vector< std::vector< std::vector< float > > > point_coords, std::vector< std::vector< float > > point_labels, std::vector< std::vector< std::vector< std::vector< float > > > > batch_mask_input, std::vector< float > has_mask_input, std::vector< std::vector< float > > orig_im_size)
 处理图片
 
AisDeployC_API int load_keys_embeddings (void *base, std::vector< std::string > &vec_keys, std::vector< std::vector< float > > &vec_embeddings)
 批量加载 字段 和 特征嵌入 对
 
AisDeployC_API int compare_with_ground_embeddings (void *base, std::vector< std::vector< float > > &vec_embeddings, std::vector< std::string > &ground_keys, std::vector< std::vector< float > > &vec_scores)
 将特征嵌入与底库内的特征嵌入进行比较
 
AisDeployC_API int py_compare_with_ground_embeddings (void *base, const char *input, int input_size, char **output, int *output_size)
 python使用的批量 字段 和 特征嵌入 对,与底库中特征嵌入做比对,json string输入格式的接口,json string输出格式的接口
 
AisDeployC_API int py_process_decoder (void *base, const char *input, int input_size, char **output, int *output_size)
 python使用的解码器处理接口,输入特征嵌入和提示prompt,json string输入格式的接口,json string输出格式的接口
 
AisDeployC_API int get_per_batch_classification (void *base, std::vector< classification > &per_batch_cls)
 获得每个批次的分类结果
 
AisDeployC_API int get_per_batch_pose_estimation (void *base, std::vector< std::vector< std::vector< float > > > &per_batch_pose)
 获得每个批次的姿态估计结果
 

Variables

const std::string AisDeployCVersion ="v0.3.3b"
 

Macro Definition Documentation

◆ AisDeployC_API

#define AisDeployC_API   extern "C"

Definition at line 13 of file interface.h.

Typedef Documentation

◆ bounding_box

typedef struct bounding_box bounding_box

◆ classification

typedef struct classification classification

Function Documentation

◆ cal_per_category_instances()

AisDeployC_API int cal_per_category_instances ( void * base,
std::vector< std::vector< cv::Mat > > per_category_score_maps,
std::vector< std::vector< cv::Mat > > per_category_masks )

计算每类别的实例 blob(输入掩模和置信度图)

输入掩模和置信度图,计算每类别的实例 blob

See also
示例代码如下
string current_path_str = ".";
String str = current_path_str+"/../tests/assets/images/sem_mask_1.jpg";
Mat binary_mask = imread(str, IMREAD_GRAYSCALE);
String str1 = current_path_str+"/../tests/assets/images/sem_score.jpg";
Mat image = imread(str1, IMREAD_GRAYSCALE);
cv::Mat score_map;
image.convertTo(score_map, CV_32FC1, 1.0 / 255, 0);
std::vector<std::vector<cv::Mat> > per_category_score_maps;
std::vector<std::vector<cv::Mat> > per_category_masks;
std::vector<cv::Mat> tmp;
tmp.push_back(score_map);
per_category_score_maps.push_back(tmp);
std::vector<cv::Mat> tmp1;
tmp1.push_back(binary_mask);
per_category_masks.push_back(tmp1);
ptrDeploy,
per_category_score_maps,
per_category_masks
);
AisDeployC_API int cal_per_category_instances(void *base, std::vector< std::vector< cv::Mat > > per_category_score_maps, std::vector< std::vector< cv::Mat > > per_category_masks)
计算每类别的实例 blob(输入掩模和置信度图)
Parameters
baseinitialize返回的模型指针
per_category_score_maps输入每类别的置信度图,一般是get_per_category_score_maps接收的per_category_score_maps
per_category_masks输入每类别的置信度图,一般是get_per_category_binary_masks接收的per_category_masks,或者是它经过腐蚀膨胀处理后的二值掩模组成
Returns
执行结果,0表示执行成功,否则执行失败

◆ check_version()

AisDeployC_API int check_version ( )

检查当前库版本号与头文件版本号是否一致

检查当前库版本号与头文件版本号是否一致

See also
示例代码如下
int ret = check_version();
AisDeployC_API int check_version()
检查当前库版本号与头文件版本号是否一致
Returns
执行结果,0表示检查成功,否则检查失败

◆ compare_with_ground_embeddings()

AisDeployC_API int compare_with_ground_embeddings ( void * base,
std::vector< std::vector< float > > & vec_embeddings,
std::vector< std::string > & ground_keys,
std::vector< std::vector< float > > & vec_scores )

将特征嵌入与底库内的特征嵌入进行比较

将特征嵌入与底库内的特征嵌入进行比较,获得比较结果(字段与对应的置信度)

See also
示例代码如下
int ret = compare_with_ground_embeddings(ptrDeploy, vec_keys, vec_embeddings);
AisDeployC_API int compare_with_ground_embeddings(void *base, std::vector< std::vector< float > > &vec_embeddings, std::vector< std::string > &ground_keys, std::vector< std::vector< float > > &vec_scores)
将特征嵌入与底库内的特征嵌入进行比较
Parameters
baseinitialize返回的模型指针
vec_embeddings批量的特征嵌入,维度记为N维
ground_keys底库中的字段,维度记为M维
vec_scores比较的阈值结果,如果比较的vec_embeddings是N维,底库的长度是M维,则输出的vec_scores的维度是NxM
Returns
执行结果,0表示执行成功,否则执行失败

◆ dilate_binary_mask()

AisDeployC_API int dilate_binary_mask ( cv::Mat & binary_mask,
int kernel_size,
int iter_dilate )

二值掩模膨胀处理

二值掩模膨胀处理

See also
示例代码如下
string current_path_str = ".";
String str = current_path_str+"/../tests/assets/images/sem_mask_1.jpg";
Mat binary_mask = imread(str, IMREAD_GRAYSCALE);
int kernel_size = 3;
int iter_dilate = 1;
binary_mask,
kernel_size,
iter_dilate
);
AisDeployC_API int dilate_binary_mask(cv::Mat &binary_mask, int kernel_size, int iter_dilate)
二值掩模膨胀处理
Parameters
binary_mask处理的二值掩模,由于使用的是引用,所以会直接以该变量接收处理结果
kernel_size膨胀处理的核大小,>1
iter_dilate膨胀处理迭代次数, >=1
Returns
执行结果,0表示执行成功,否则执行失败

◆ erode_binary_mask()

AisDeployC_API int erode_binary_mask ( cv::Mat & binary_mask,
int kernel_size,
int iter_erode )

二值掩模腐蚀处理

二值掩模腐蚀处理

See also
示例代码如下
string current_path_str = ".";
String str = current_path_str+"/../tests/assets/images/sem_mask.jpg";
Mat binary_mask = imread(str, IMREAD_GRAYSCALE);
int kernel_size = 7;
int iter_erode = 2;
binary_mask,
kernel_size,
iter_erode
);
AisDeployC_API int erode_binary_mask(cv::Mat &binary_mask, int kernel_size, int iter_erode)
二值掩模腐蚀处理
Parameters
binary_mask处理的二值掩模,由于使用的是引用,所以会直接以该变量接收处理结果
kernel_size腐蚀处理的核大小,>1
iter_erode腐蚀处理迭代次数, >=1
Returns
执行结果,0表示执行成功,否则执行失败

◆ generate_license()

AisDeployC_API int generate_license ( void * base)

生成未授权文件

生成授权文件

See also
示例代码如下
int ret = generate_license(ptrDeploy);
AisDeployC_API int generate_license(void *base)
生成未授权文件
Parameters
baseinitialize返回的模型指针
Returns
执行结果,0表示检查成功,否则检查失败

◆ get_binary_mask_from_score_map()

AisDeployC_API int get_binary_mask_from_score_map ( cv::Mat score_map,
cv::Mat & binary_mask,
float thresh )

置信度图阈值处理获得二值掩模

置信度图阈值处理获得二值掩模

See also
示例代码如下
string current_path_str = ".";
String str = current_path_str+"/../tests/assets/images/sem_score.jpg";
Mat image = imread(str, IMREAD_GRAYSCALE);
cv::Mat score_map;
image.convertTo(score_map, CV_32FC1, 1.0 / 255, 0);
cv::Mat binary_mask;
float thresh = 0.1;
score_map,
binary_mask,
thresh
);
AisDeployC_API int get_binary_mask_from_score_map(cv::Mat score_map, cv::Mat &binary_mask, float thresh)
置信度图阈值处理获得二值掩模
Parameters
score_map输入置信度图,一般是get_per_category_score_maps接收per_category_score_maps中单个score_map,值域需要控制在[0,1]
binary_mask用来接收处理的二值掩模结果
thresh处理的阈值,值域(0,1)
Returns
执行结果,0表示执行成功,否则执行失败

◆ get_categories()

AisDeployC_API int get_categories ( void * base,
std::vector< std::string > & out_categories )

获得类别列表

获得当前模型的类别列表

See also
示例代码如下
std::vector<std::string> out_categories;
int ret = get_categories(
ptrDeploy,
out_categories
);
AisDeployC_API int get_categories(void *base, std::vector< std::string > &out_categories)
获得类别列表
Parameters
baseinitialize返回的模型指针
out_categories用来接收类别列表变量
Returns
执行结果,0表示执行成功,否则执行失败

◆ get_per_batch_classification()

AisDeployC_API int get_per_batch_classification ( void * base,
std::vector< classification > & per_batch_cls )

获得每个批次的分类结果

在实例计算结束后,获得每个批次的分类结果

See also
示例代码如下
std::vector<classification> per_batch_cls;
int ret = get_per_batch_classification(ptrDeploy, per_batch_cls);
AisDeployC_API int get_per_batch_classification(void *base, std::vector< classification > &per_batch_cls)
获得每个批次的分类结果
Parameters
baseinitialize返回的模型指针
per_batch_cls获得每个批次的分类结果,分类结果使用结构体classification表达
Returns
执行结果,0表示执行成功,否则执行失败

◆ get_per_batch_embeddings()

AisDeployC_API int get_per_batch_embeddings ( void * base,
std::vector< std::vector< float > > & per_batch_embeddings )

获得每个批次的图像特征嵌入

在实例计算结束后,获得每个批次的图像特征嵌入

See also
示例代码如下
std::vector<std::vector<float>> & per_batch_embeddings;
int ret = get_per_batch_embeddings(ptrDeploy, per_batch_embeddings);
AisDeployC_API int get_per_batch_embeddings(void *base, std::vector< std::vector< float > > &per_batch_embeddings)
获得每个批次的图像特征嵌入
Parameters
baseinitialize返回的模型指针
per_batch_embeddings获得每个批次的实例的图像特征嵌入
Returns
执行结果,0表示执行成功,否则执行失败

◆ get_per_batch_embeddings_3d()

AisDeployC_API int get_per_batch_embeddings_3d ( void * base,
std::vector< std::vector< std::vector< std::vector< float > > > > & per_batch_embeddings )

获得每个批次的图像3D特征嵌入

在实例计算结束后,获得每个批次的图像特征嵌入

See also
示例代码如下
std::vector<std::vector<std::vector<std::vector<float>>>> & per_batch_embeddings;
int ret = get_per_batch_embeddings_3d(ptrDeploy, per_batch_embeddings);
AisDeployC_API int get_per_batch_embeddings_3d(void *base, std::vector< std::vector< std::vector< std::vector< float > > > > &per_batch_embeddings)
获得每个批次的图像3D特征嵌入
Parameters
baseinitialize返回的模型指针
per_batch_embeddings获得每个批次的实例的图像特征嵌入
Returns
执行结果,0表示执行成功,否则执行失败

◆ get_per_batch_instance_mask_areas()

AisDeployC_API int get_per_batch_instance_mask_areas ( void * base,
std::vector< std::vector< float > > & per_batch_instance_mask_areas )

获得每个批次的实例掩模面积

在实例计算结束后,获得每个批次的实例掩模面积

See also
示例代码如下
std::vector<std::vector<float>> per_batch_instance_mask_areas;
int ret = get_per_batch_instance_mask_areas(ptrDeploy, per_batch_instance_mask_areas);
AisDeployC_API int get_per_batch_instance_mask_areas(void *base, std::vector< std::vector< float > > &per_batch_instance_mask_areas)
获得每个批次的实例掩模面积
Parameters
baseinitialize返回的模型指针
per_batch_instance_mask_areas获得每个批次的实例掩模面积
Returns
执行结果,0表示执行成功,否则执行失败

◆ get_per_batch_instance_number()

AisDeployC_API int get_per_batch_instance_number ( void * base,
std::vector< int > & per_batch_instance_number )

获得每个批次的实例个数

在实例计算结束后,获得每个批次的实例个数

See also
示例代码如下
std::vector<int> per_batch_instance_number;
int ret = get_per_batch_instance_number(ptrDeploy, per_batch_instance_number);
AisDeployC_API int get_per_batch_instance_number(void *base, std::vector< int > &per_batch_instance_number)
获得每个批次的实例个数
Parameters
baseinitialize返回的模型指针
per_batch_instance_number获得每个批次的实例个数,第一层vector代表批次,与process_images中输入imgs对应
Returns
执行结果,0表示执行成功,否则执行失败

◆ get_per_batch_instances()

AisDeployC_API int get_per_batch_instances ( void * base,
std::vector< std::vector< bounding_box > > & per_batch_instances )

获得每个批次的实例

在实例计算结束后,获得每个批次的实例

See also
示例代码如下
std::vector<std::vector<bounding_box>> per_batch_instances;
int ret = get_per_batch_instances(ptrDeploy, per_batch_instances);
AisDeployC_API int get_per_batch_instances(void *base, std::vector< std::vector< bounding_box > > &per_batch_instances)
获得每个批次的实例
Parameters
baseinitialize返回的模型指针
per_batch_instances获得每个批次的实例,实例使用结构体bounding_box表达
Returns
执行结果,0表示执行成功,否则执行失败

◆ get_per_batch_pose_estimation()

AisDeployC_API int get_per_batch_pose_estimation ( void * base,
std::vector< std::vector< std::vector< float > > > & per_batch_pose )

获得每个批次的姿态估计结果

在实例计算结束后,获得每个批次的姿态估计结果

See also
示例代码如下
std::vector<std::vector<std::vector<float>>> per_batch_pose;
int ret = get_per_batch_pose_estimation(ptrDeploy, per_batch_pose);
AisDeployC_API int get_per_batch_pose_estimation(void *base, std::vector< std::vector< std::vector< float > > > &per_batch_pose)
获得每个批次的姿态估计结果
Parameters
baseinitialize返回的模型指针
per_batch_pose获得每个批次的姿态估计结果,姿态估计结果结果使用std::vector<float>表示,其中每个float表示一个关键点的坐标{x, y}
Returns
执行结果,0表示执行成功,否则执行失败

◆ get_per_category_binary_masks()

AisDeployC_API int get_per_category_binary_masks ( void * base,
std::vector< std::vector< cv::Mat > > & per_category_masks )

获得每类别的二值掩模

获得当前模型的处理图像批次(前向推理)后的每类别的二值掩模结果

See also
示例代码如下
std::vector<std::vector<cv::Mat> > per_category_masks;
ptrDeploy,
per_category_masks
);
AisDeployC_API int get_per_category_binary_masks(void *base, std::vector< std::vector< cv::Mat > > &per_category_masks)
获得每类别的二值掩模
Parameters
baseinitialize返回的模型指针
per_category_masks用来接收每类别的二值掩模结果,第一层vector代表类别(与get_categories的接收out_categories对应),第二层vector代表批次(与process_images输入imgs对应)
Returns
执行结果,0表示执行成功,否则执行失败

◆ get_per_category_score_maps()

AisDeployC_API int get_per_category_score_maps ( void * base,
std::vector< std::vector< cv::Mat > > & per_category_score_maps )

获得每类别的置信度图

获得当前模型的处理图像批次(前向推理)后的每类别的置信度图

See also
示例代码如下
std::vector<std::vector<cv::Mat> > per_category_score_maps;
ptrDeploy,
per_category_score_maps
);
AisDeployC_API int get_per_category_score_maps(void *base, std::vector< std::vector< cv::Mat > > &per_category_score_maps)
获得每类别的置信度图
Parameters
baseinitialize返回的模型指针
per_category_score_maps用来接收每类别的置信度图结果,第一层vector代表类别(与get_categories的接收out_categories对应),第二层vector代表批次(与process_images输入imgs对应)
Returns
执行结果,0表示执行成功,否则执行失败

◆ get_version()

AisDeployC_API std::string get_version ( )

获得当前库版本号

获得当前库的版本号,格式为v0.0.0

See also
示例代码如下
std::string version = get_version();
AisDeployC_API std::string get_version()
获得当前库版本号
Returns
std::string 返回版本号

◆ initialize()

AisDeployC_API void * initialize ( const char * model_path,
int gpu_id,
int * state )

模型初始化

根据模型路径、GPU ID 初始化模型

See also
c++接口示例代码如下
int initRet = 0;
string current_path_str = ".";
std::string model_path = current_path_str+"/../tests/assets/models/epoch_200_segmentor_setting_oen.aism";
int gpu_id = 0;
ptrDeploy = initialize(model_path.c_str(), gpu_id, &initRet);
AisDeployC_API void * initialize(const char *model_path, int gpu_id, int *state)
模型初始化
python接口示例代码如下
import ctypes
import platform
lib = None
handle = None
if "macOS" in platform.platform():
# sys.path.append(os.path.join(os.path.dirname(__file__), "../cmake-build-debug"))
lib = ctypes.cdll.LoadLibrary("./cmake-build-debug/libAisDeployC.dylib")
elif "Windows" in platform.platform():
lib = ctypes.windll.LoadLibrary( "./cmake-build-release/AisDeployC.dll" )
elif "Linux" in platform.platform():
lib = ctypes.cdll.LoadLibrary( "./build/libAisDeployC.so" )
lib.initialize.restype = ctypes.c_void_p
ret = ctypes.c_int(-1)
gpu_id = ctypes.c_int(-1)
path_str = "tests/assets/models/epoch_200_segmentor_setting_oen.aism"
path_char = ctypes.c_char_p(path_str.encode('utf-8'))
handle = lib.initialize(path_char, gpu_id, ctypes.pointer(ret))
lib.py_process_json_str.argtypes = [ctypes.c_void_p, ctypes.c_char_p, ctypes.c_int]
lib.release.argtypes = [ctypes.c_void_p]
Parameters
model_path模型路径
gpu_id显卡(GPU) ID,0代表0号显卡;-1代表不使用GPU
state执行状态,0代表执行成功
Returns
返回模型对象指针 void*

◆ load_keys_embeddings()

AisDeployC_API int load_keys_embeddings ( void * base,
std::vector< std::string > & vec_keys,
std::vector< std::vector< float > > & vec_embeddings )

批量加载 字段 和 特征嵌入 对

批量加载 字段 和 特征嵌入 对,形成底库

See also
示例代码如下
int ret = load_keys_embeddings(ptrDeploy, vec_keys, vec_embeddings);
AisDeployC_API int load_keys_embeddings(void *base, std::vector< std::string > &vec_keys, std::vector< std::vector< float > > &vec_embeddings)
批量加载 字段 和 特征嵌入 对
Parameters
baseinitialize返回的模型指针
vec_keys批量的字段
vec_embeddings批量的特征嵌入
Returns
执行结果,0表示执行成功,否则执行失败

◆ process_embedding_3d_prompt()

AisDeployC_API int process_embedding_3d_prompt ( void * base,
std::vector< std::vector< std::vector< std::vector< float > > > > batch_embeddings,
std::vector< std::vector< std::vector< float > > > point_coords,
std::vector< std::vector< float > > point_labels,
std::vector< std::vector< std::vector< std::vector< float > > > > batch_mask_input,
std::vector< float > has_mask_input,
std::vector< std::vector< float > > orig_im_size )

处理图片

使用模型处理3维嵌入和提示词(前向推理)

◆ process_images()

AisDeployC_API int process_images ( void * base,
std::vector< cv::Mat > & imgs )

处理图片

使用模型处理图像或图像批次(前向推理)

See also
单一批次示例代码如下
std::vector<cv::Mat> imgs;
string current_path_str = ".";
String str = current_path_str+"/../tests/assets/images/1.jpg";
Mat image = imread(str);
imgs.push_back(image);
int ret = process_images(ptrDeploy, imgs);
AisDeployC_API int process_images(void *base, std::vector< cv::Mat > &imgs)
处理图片
多批次示例代码如下
std::vector<cv::Mat> imgs;
string current_path_str = ".";
String str = current_path_str+"/../tests/assets/images/1.jpg";
Mat image = imread(str);
imgs.push_back(image);
String str_1 = current_path_str+"/../tests/assets/images/63_1024.jpg";
Mat image_1 = imread(str_1);
imgs.push_back(image_1);
int ret_1 = process_images(ptrDeploy, imgs);
Parameters
baseinitialize返回的模型指针
imgs输入图像批次
Returns
执行结果,0表示执行成功,否则执行失败

◆ py_compare_with_ground_embeddings()

AisDeployC_API int py_compare_with_ground_embeddings ( void * base,
const char * input,
int input_size,
char ** output,
int * output_size )

python使用的批量 字段 和 特征嵌入 对,与底库中特征嵌入做比对,json string输入格式的接口,json string输出格式的接口

python使用的批量 字段 和 特征嵌入 对,与底库中特征嵌入做比对,json string输入格式的接口,json string输出格式的接口

See also
示例代码如下
key = ""
value = list()
file_json = {"embedding_vector":value}
input_json = {"data_list": [file_json]}
data_str = json.dumps(input_json)
data_char = ctypes.c_char_p(data_str.encode('utf-8'))
ret_char_c = ctypes.c_char_p()
ret = lib.py_compare_with_ground_embeddings(handle, data_char, len(data_str), ret_char_c, None)
Parameters
baseinitialize返回的模型指针
input输入json string (const char *)
input_size输入json string长度
output输出json string (char **)
output_size输出json string长度
Returns
执行结果,0表示检查成功,否则检查失败

◆ py_free_result()

AisDeployC_API int py_free_result ( char * output)

python使用的释放返回结果的接口

python使用的释放返回结果的接口

See also
示例代码如下
ret_char_c = ctypes.c_char_p()
ret = lib.py_free_result(ret_char_c)
Parameters
output输出json string (char *)
Returns
执行结果,0表示检查成功,否则检查失败

◆ py_get_json_str_results()

AisDeployC_API int py_get_json_str_results ( void * base,
char ** output,
int * output_size )

python使用的获取json string输出格式的接口

python使用的获取json string输出格式的接口,一般需要先经过initialize, py_process_json_str

See also
示例代码如下
ret_char_c = ctypes.c_char_p()
ret = lib.py_get_json_str_results(handle, ret_char_c, None)
Parameters
baseinitialize返回的模型指针
output输出json string (char **)
int输出json string长度
Returns
执行结果,0表示检查成功,否则检查失败

python使用的获取json string输出格式的接口,一般需要先经过initialize, py_process_json_str

See also
示例代码如下
ret_char_c = ctypes.c_char_p()
ret = lib.py_get_json_str_results(handle, ret_char_c, None)
Parameters
baseinitialize返回的模型指针
output输出json string (char **)
output_size输出json string长度
Returns
执行结果,0表示检查成功,否则检查失败

◆ py_process_decoder()

AisDeployC_API int py_process_decoder ( void * base,
const char * input,
int input_size,
char ** output,
int * output_size )

python使用的解码器处理接口,输入特征嵌入和提示prompt,json string输入格式的接口,json string输出格式的接口

python使用的解码器处理接口,输入特征嵌入和提示prompt,json string输入格式的接口,json string输出格式的接口

See also
示例代码如下
key = ""
value = list()
file_json = {"embedding_vector":value}
input_json = {"data_list": [file_json]}
data_str = json.dumps(input_json)
data_char = ctypes.c_char_p(data_str.encode('utf-8'))
ret_char_c = ctypes.c_char_p()
ret = lib.py_process_decoder(handle, data_char, len(data_str), ret_char_c, None)
Parameters
baseinitialize返回的模型指针
input输入json string (const char *)
input_size输入json string长度
output输出json string (char **)
output_size输出json string长度
Returns
执行结果,0表示检查成功,否则检查失败

◆ py_process_json_str()

AisDeployC_API int py_process_json_str ( void * base,
const char * input,
int input_size )

python使用的处理json string输入格式的接口

python使用的处理json string输入格式的接口,一般需要先经过initialize和process_json_str.argtypes = [ctypes.c_void_p, ctypes.c_char_p, ctypes.c_int]的设定

See also
示例代码如下
imgPth = "tests/assets/images/1.jpg"
f= open(imgPth, 'rb')
qrcode = base64.b64encode(f.read()).decode()
f.close()
file_json = {"type": "base64", "data": qrcode, "ch":3}
input_json = {"data_list": [file_json]}
data_str = json.dumps(input_json)
data_char = ctypes.c_char_p(data_str.encode('utf-8'))
ret = lib.py_process_json_str(handle, data_char, len(data_str))
Parameters
baseinitialize返回的模型指针
input输入json string (const char *)
input_size输入json string长度
Returns
执行结果,0表示检查成功,否则检查失败

◆ release()

AisDeployC_API int release ( void * base)

释放实例

释放实例

See also
c++接口示例代码如下
int ret = release(ptrDeploy);
AisDeployC_API int release(void *base)
释放实例
python接口示例代码如下,一般需要先经过initialize和lib.release.argtypes = [ctypes.c_void_p]的设定
ret = lib.release(handle)
Parameters
baseinitialize返回的模型指针
Returns
执行结果,0表示执行成功,否则执行失败

◆ update_license()

AisDeployC_API int update_license ( void * base,
const char * path )

更新授权文件信息

更新授权文件信息

See also
示例代码如下
int ret = update_license(ptrDeploy, "macos_registed_info.aisl");
AisDeployC_API int update_license(void *base, const char *path)
更新授权文件信息
Parameters
baseinitialize返回的模型指针
path授权文件的路径
Returns
执行结果,0表示检查成功,否则检查失败

Variable Documentation

◆ AisDeployCVersion

const std::string AisDeployCVersion ="v0.3.3b"

Definition at line 8 of file interface.h.