跳转到主要内容

使用SWIG实现的Python FFI nihui/waifu2x-ncnn-vulkan

项目描述

waifu2x ncnn Vulkan Python

CI

简介

使用SWIG实现的Python FFI nihui/waifu2x-ncnn-vulkan。

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

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

下载

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

  • 然而,对于使用较旧GLIBC(版本<2.29)的Linux(如Ubuntu 18.04),您可能需要尝试使用ubuntu-1804版本或自行编译。
  • Windows版本不适用于所有Python版本。Windows构建版本是为Python 3.9设计的。这是一个已知问题:导入错误:在导入_rife_ncnn_vulkan_wrapper时加载DLL失败:指定的模块找不到。
  • 更新
    • GitHub上的二进制轮版本现在与特定Python版本相关联。请根据您的Python版本下载正确的版本。
    • 它已上传到PyPI,您现在可以使用pip进行安装。但您需要安装所有构建依赖项(SWIG和Vulkan Dev),因为此库的PyPI包是源分布。

安装

pip install waifu2x-ncnn-vulkan-python

构建

首先,您必须在您的平台上安装python、python开发包(Visual Studio中的Python原生开发库)、vulkan SDK和SWIG。然后,有两种构建方式:

  • 使用setuptools进行构建并直接安装到python包中。(目前处于开发中)
  • 直接使用CMake(旧方法)

使用setuptools

python setup.py install

使用CMake

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 --recursive https://github.com/media2x/waifu2x-ncnn-vulkan-python.git
cd waifu2x-ncnn-vulkan-python
cmake -B build -S waifu2x_ncnn_vulkan_python
cmake --build build

Windows

我使用Visual Studio 2019和msvc v142为Windows构建了这个项目。

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

一种方法是使用Visual Studio将项目作为目录打开,然后从Visual Studio进行构建。另一种方法是像release.yml中写的那样从powershell构建。

Mac OS X

  1. 安装依赖项:cmake、vulkan sdk、swig和python-dev
brew install swig
  • 我猜python dev在Mac中是预装的。如果不是,请谷歌搜索。
  1. 使用CMake进行构建
  • 您可以通过传递-DUSE_STATIC_MOLTENVK=ON选项来避免在MacOS上链接vulkan加载器库
  • 剩余步骤与Linux类似。

用法

示例程序

from PIL import Image
from waifu2x_ncnn_vulkan import Waifu2x

with Image.open("input.png") as image:
  waifu2x = Waifu2x(gpuid=0, scale=2, noise=3)
  image = waifu2x.process(image)
  image.save("output.png")

文档

已知问题

使用此包的软件

waifu2x原始项目

其他使用的开源代码

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

waifu2x-ncnn-vulkan-python-1.0.4.tar.gz(53.6 MB 查看散列值

上传时间

支持

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