问题
在之前的一篇实现中:深度学习之用CelebA_Spoof数据集搭建一个活体检测-用MNN来推理时候如何利用Conan对软件包进行管理,有的人进行了尝试,问我为什么安装了conan和根据步骤进行操作后没办法进行编译,提示的是下面图示的信息。

也就是在设置的仓库中并没有MNN这个包和对应的版本存在。安装正常的逻辑说,在编译的过程中,会优先选择本地缓存包,如果有对应的平台和指定的包,则使用,否则会到指定的私有仓库去寻找(私有仓库建立见这里),没有就再次会到Conan的官方中央仓库去寻找。但图示的问题就是没有找到,这就意味着本地也没有,私有仓库也没有。其实原因是之前并没有人将MNN这个包和源码上传到中央仓库去,当然第一次使用私有仓库的时候也并没有上传。但是像opencv的这些库就有,因为这些库都是知名度很高的库,自然就有人传了上去。
如何做
自己做上传一个,也就是将MNN封装成conan包上传到conan服务器可以保存在本地缓存或者上传到自己的私有仓库,这就需要使用conan create 和conanfile.py这两个东西了,详见大牛的博客《conan入门(十九):封装第三方开源库cpp_redis示例》。
以使用MNN-2.4.0为例(因为我本地有1.2.7了)
首先需要conanfile.py,当然可以自己使用指令 conan new 自己重新来定义一个,也可以使用下面的文件:
from conan import ConanFile
from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain
from conan.tools.env import VirtualBuildEnv
import os
class MnnConan(ConanFile):
name = "mnn"
version = "2.4.0"
# Optional metadata
url = "https://github.com/alibaba/MNN"
description = "a highly efficient and lightweight deep learning framework"
topics = ("deep learning","ai","mnn")
tool_requires = "cmake/[>=3.15.7]"
package_type = "library"
# Binary configuration
settings = "os", "compiler", "build_type", "arch"
options = {
"use_system_lib": [True, False],
"build_hard": [True, False],
"shared": [True, False],
"win_runtime_mt": [True, False],
"orbid_multi_thread": [True, False],
"openmp": [True, False],
"use_thread_pool": [True, False],
"build_train": [True, False],
"build_demo": [True, False],
"build_tools": [True, False],
"build_quantools": [True, False],
"evaluation": [True, False],
"build_converter": [True, False],
"support_tflite_quan": [True, False],
"debug_memory": [True, False],
"debug_tensor_size": [True, False],
"gpu_trace": [True, False],
"portable_build": [True, False],
"sep_build": [True, False],
"aapl_fmwk": [True, False],

最低0.47元/天 解锁文章
2738

被折叠的 条评论
为什么被折叠?



