跳转到主要内容

使用SWIG实现的SRMD ncnn Vulkan Python的Python FFI

项目描述

SRMD ncnn Vulkan Python

CI

srmd-ncnn-vulkan 是nihui的SRMD转换器ncnn实现。在Intel / AMD / Nvidia上运行速度快,使用Vulkan API。

此项目是nihui项目的Python包装器。

srmd-ncnn-vulkan-python使用SWIG包装了 srmd-ncnn-vulkan项目,以便更容易将srmd-ncnn-vulkan与现有的Python项目集成。

此项目仅包装了原始SRMD类。因此,除了核心放大和去噪功能之外的其他功能,如多线程加载和保存等,均不可用。当然,自动瓷砖大小和预填充设置已实现,所以请放心。

下载

现在提供linux x64、Windows x64和MacOS x64版本。对于其他平台,您可能需要自行编译。MacOS ARM64构建不可用的原因是它需要ARM Python Dev Libs,我不知道如何在GitHub的MacOS x64 VM上获得它。此外,我没有Mac。

构建

首先,您需要在您的平台上安装Python、Python开发包(Visual Studio中的Python原生开发库)、Vulkan SDK和SWIG。然后

Linux

  1. 安装依赖项:cmake、Vulkan SDK、SWIG和python-dev

Debian、Ubuntu和其他类似Debian的发行版

apt-get install cmake libvulkan-dev swig python3-dev

Arch发行版

pacman -S base-devel cmake vulkan-headers vulkan-icd-loader swig python
  1. 使用CMake构建
git clone https://github.com/ArchieMeng/srmd-ncnn-vulkan-python.git
cd srmd-ncnn-vulkan-python
git submodule update --init --recursive
cmake -B build src
cd build
make

Windows

我使用Visual Studio 2019和msvc v142构建了Windows上的此项目。

安装visual studio,打开项目目录,然后构建。任务完成。

Windows上唯一的问题是,您不能使用Windows版的CMake生成Visual Studio解决方案文件并进行构建。这将导致库在加载时崩溃。

唯一的方法是使用Visual Studio以目录方式打开项目,并在Visual Studio中构建它。

  1. 安装依赖项:cmake、Vulkan SDK、SWIG和python-dev
  1. 使用cmake构建项目。可以参考Linux构建方法,也可以在Visual Studio中直接进行。

Mac OS X

  1. 安装依赖项:cmake、Vulkan SDK、SWIG和python-dev
brew install swig
  • 我猜Mac中的Python开发库是预装的。如果没有,可以谷歌一下。
  1. 使用CMake构建
  • 您可以通过传递-DUSE_STATIC_MOLTENVK=ON选项来避免在MacOS上链接Vulkan加载器库
git clone https://github.com/ArchieMeng/srmd-ncnn-vulkan-python.git
cd srmd-ncnn-vulkan-python
git submodule update --init --recursive
cmake -B build src
cd build
make

用法

示例程序

from PIL import Image
from srmd_ncnn_vulkan import Srmd

im = Image.open("0.jpg")
upscaler = Srmd(gpuid=0)
out_im = upscaler.process(im)
out_im.save("1.png")

原始SRMD项目

其他使用的开源代码

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

srmd-ncnn-vulkan-python-1.0.2.tar.gz (36.2 MB 查看散列)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面