GPU-accelerated Image Processing library using OpenCL

Overview

pyclesperanto

Build License Website GitHub stars GitHub forks

pyclesperanto is a python package for clEsperanto - a multi-language framework for GPU-accelerated image processing. clEsperanto uses OpenCL kernels from CLIJ. This package relies on the CLIc back-end for processing.

Usage

Note: This project is under heavy development. Functions and parameters are subject to change.

from skimage.io import imread
from pyclesperanto import cle

image = imread("https://imagej.nih.gov/ij/images/blobs.gif")

# push and create buffer
gpu_output = cle.create(image.shape)
gpu_input = cle.push(image)

# apply kernel
cle.add_image_and_scalar(input_image=gpu_input, output_image=gpu_output, scalar=100)

# visualize result
cle.imshow(gpu_output)

# get result as numpy array
result = cle.pull(gpu_output)

Example gallery

Segment + analyze blobs

Cell segmentation + Voronoi labeling

3D image filtering

Find local maxima

3D Tribolium nuclei segmentation

Explore application programming interface (API)

More usage and example can be found as notebooks in the user documentation folder

Installation

Download the repository and update the associated submodules:

git clone https://github.com/clEsperanto/pyclesperanto.git
cd pyclesperanto && git submodule update --init --recursive

Here, we assume that your system has an OpenCL valid device and that all its drivers are correctly installed. Using anaconda (or miniconda), create a virtual environment and activate it:

conda create --name pycle python=3.9
conda activate pycle

Finally, install pyclesperanto and all its dependencies by running the command:

pip install -e .

For MacOS users, Please install the following package:

conda install -c conda-forge -y ocl_icd_wrapper_apple

For Linux users, Please install the following package:

conda install -c conda-forge -y ocl-icd-system

Contributing

Contributions are very welcome. Before spending effort on coding and filing a pull-request, please get in touch, file an issue, and let's discuss your potential contribution.

License

Distributed under the terms of the BSD-3 license, "py-clesperanto" is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.

Comments
  • wrapper update to CLIc 0.6

    wrapper update to CLIc 0.6

    Update of pyclesperanto wrapper to CLIc v0.6

    • https://github.com/clEsperanto/CLIc_prototype/pull/94

    Change of strategy, wrapper now only expose CLIc gateway and CLIc data structure respectively in pygateway.hpp and pyImage.hpp. Name can be changed. The expose structure are then usable in the package pyclesperanto

    This breaks the python layer define in _types.py and _clesperanto_gateway.py

    For clarity and dissociation, C++ exposed methods are kept in C++ naming convention. Minimal usage test test_pyclesperanto.py has been updated to show this minimal change. Update of the Clesperanto_gateway_API_example.ipynb is also to be expected soon in the PR, inorder to help drive the design discussion of a new python API layer (@haesleinhuepf :wave: ).

    opened by StRigaud 8
  • Build fails

    Build fails

    Hi Stephane @StRigaud ,

    I just tried to build on the current #9 but it didn't work anymore on my machine (error below, it's not very informative though). I'm pushing my last branch which still worked to github as https://github.com/clEsperanto/pyclesperanto/tree/old_branch_builds

    You can see the differences between the old_branch_builds that works on my machine and the current code here.

    Do I interpret it correctly, there is an issue in the CMAKE configuration?

    Any hint is welcome!

    Thanks! Robert

    (bio_39) C:\structure\code\pyclesperanto>pip install -e .
    Obtaining file:///C:/structure/code/pyclesperanto
      Installing build dependencies ... done
      Checking if build backend supports build_editable ... done
      Getting requirements to build wheel ... done
      Preparing metadata (pyproject.toml) ... done
    Installing collected packages: pyclesperanto
      Running setup.py develop for pyclesperanto
        error: subprocess-exited-with-error
    
        × python setup.py develop did not run successfully.
        │ exit code: 1
        ╰─> [381 lines of output]
            C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\setuptools\command\easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
              warnings.warn(
            Not searching for unused variables given on the command line.
            -- The C compiler identification is MSVC 19.29.30136.0
            -- Detecting C compiler ABI info
            -- Detecting C compiler ABI info - failed
            -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe
            -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - broken
            CMake Error at C:/Users/rober/AppData/Local/Temp/pip-build-env-uqm4ap4f/overlay/Lib/site-packages/cmake/data/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake:69 (message):
              The C compiler
    
                "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe"
    
              is not able to compile a simple test program.
    
              It fails with the following output:
    
                Change Dir: C:/structure/code/pyclesperanto/_cmake_test_compile/build/CMakeFiles/CMakeTmp
    
                Run Build Command(s):C:/Users/rober/AppData/Local/Temp/pip-build-env-uqm4ap4f/overlay/Lib/site-packages/ninja/data/bin/ninja cmTC_ed0a6 && [1/2] Building C object CMakeFiles\cmTC_ed0a6.dir\testCCompiler.c.obj
                [2/2] Linking C executable cmTC_ed0a6.exe
                FAILED: cmTC_ed0a6.exe
                cmd.exe /C "cd . && C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\cmake\data\bin\cmake.exe -E vs_link_exe --intdir=CMakeFiles\cmTC_ed0a6.dir --rc=rc --mt=CMAKE_MT-NOTFOUND --manifests  -- C:\PROGRA~2\MICROS~3\2019\BUILDT~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo CMakeFiles\cmTC_ed0a6.dir\testCCompiler.c.obj  /out:cmTC_ed0a6.exe /implib:cmTC_ed0a6.lib /pdb:cmTC_ed0a6.pdb /version:0.0 /machine:x64  /debug /INCREMENTAL /subsystem:console  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
                RC Pass 1: command "rc /fo CMakeFiles\cmTC_ed0a6.dir/manifest.res CMakeFiles\cmTC_ed0a6.dir/manifest.rc" failed (exit code 0) with the following output:
                The system cannot find the file specified
                ninja: build stopped: subcommand failed.
    
    
    
    
    
              CMake will not be able to correctly generate this project.
            Call Stack (most recent call first):
              CMakeLists.txt:3 (ENABLE_LANGUAGE)
    
    
            -- Configuring incomplete, errors occurred!
            See also "C:/structure/code/pyclesperanto/_cmake_test_compile/build/CMakeFiles/CMakeOutput.log".
            See also "C:/structure/code/pyclesperanto/_cmake_test_compile/build/CMakeFiles/CMakeError.log".
            Not searching for unused variables given on the command line.
            CMake Error at CMakeLists.txt:2 (PROJECT):
              Generator
    
                Visual Studio 17 2022
    
              could not find any instance of Visual Studio.
    
    
    
            -- Configuring incomplete, errors occurred!
            See also "C:/structure/code/pyclesperanto/_cmake_test_compile/build/CMakeFiles/CMakeOutput.log".
            Not searching for unused variables given on the command line.
            -- The C compiler identification is MSVC 19.29.30136.0
            -- Detecting C compiler ABI info
            -- Detecting C compiler ABI info - failed
            -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe
            -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - broken
            CMake Error at C:/Users/rober/AppData/Local/Temp/pip-build-env-uqm4ap4f/overlay/Lib/site-packages/cmake/data/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake:69 (message):
              The C compiler
    
                "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe"
    
              is not able to compile a simple test program.
    
              It fails with the following output:
    
                Change Dir: C:/structure/code/pyclesperanto/_cmake_test_compile/build/CMakeFiles/CMakeTmp
    
                Run Build Command(s):C:/Users/rober/AppData/Local/Temp/pip-build-env-uqm4ap4f/overlay/Lib/site-packages/ninja/data/bin/ninja cmTC_c45bc && [1/2] Building C object CMakeFiles\cmTC_c45bc.dir\testCCompiler.c.obj
                [2/2] Linking C executable cmTC_c45bc.exe
                FAILED: cmTC_c45bc.exe
                cmd.exe /C "cd . && C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\cmake\data\bin\cmake.exe -E vs_link_exe --intdir=CMakeFiles\cmTC_c45bc.dir --rc=rc --mt=CMAKE_MT-NOTFOUND --manifests  -- C:\PROGRA~2\MICROS~3\2019\BUILDT~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo CMakeFiles\cmTC_c45bc.dir\testCCompiler.c.obj  /out:cmTC_c45bc.exe /implib:cmTC_c45bc.lib /pdb:cmTC_c45bc.pdb /version:0.0 /machine:x64  /debug /INCREMENTAL /subsystem:console  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
                RC Pass 1: command "rc /fo CMakeFiles\cmTC_c45bc.dir/manifest.res CMakeFiles\cmTC_c45bc.dir/manifest.rc" failed (exit code 0) with the following output:
                The system cannot find the file specified
                ninja: build stopped: subcommand failed.
    
    
    
    
    
              CMake will not be able to correctly generate this project.
            Call Stack (most recent call first):
              CMakeLists.txt:3 (ENABLE_LANGUAGE)
    
    
            -- Configuring incomplete, errors occurred!
            See also "C:/structure/code/pyclesperanto/_cmake_test_compile/build/CMakeFiles/CMakeOutput.log".
            See also "C:/structure/code/pyclesperanto/_cmake_test_compile/build/CMakeFiles/CMakeError.log".
            Not searching for unused variables given on the command line.
            -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19044.
            -- The C compiler identification is MSVC 19.29.30136.0
            -- Detecting C compiler ABI info
            -- Detecting C compiler ABI info - done
            -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
            -- Detecting C compile features
            -- Detecting C compile features - done
            -- The CXX compiler identification is MSVC 19.29.30136.0
            CMake Warning (dev) at C:/Users/rober/AppData/Local/Temp/pip-build-env-uqm4ap4f/overlay/Lib/site-packages/cmake/data/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:162 (if):
              Policy CMP0054 is not set: Only interpret if() arguments as variables or
              keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
              details.  Use the cmake_policy command to set the policy and suppress this
              warning.
    
              Quoted variables like "MSVC" will no longer be dereferenced when the policy
              is set to NEW.  Since the policy is not set the OLD behavior will be used.
            Call Stack (most recent call first):
              CMakeLists.txt:4 (ENABLE_LANGUAGE)
            This warning is for project developers.  Use -Wno-dev to suppress it.
    
            CMake Warning (dev) at C:/Users/rober/AppData/Local/Temp/pip-build-env-uqm4ap4f/overlay/Lib/site-packages/cmake/data/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:183 (elseif):
              Policy CMP0054 is not set: Only interpret if() arguments as variables or
              keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
              details.  Use the cmake_policy command to set the policy and suppress this
              warning.
    
              Quoted variables like "MSVC" will no longer be dereferenced when the policy
              is set to NEW.  Since the policy is not set the OLD behavior will be used.
            Call Stack (most recent call first):
              CMakeLists.txt:4 (ENABLE_LANGUAGE)
            This warning is for project developers.  Use -Wno-dev to suppress it.
    
            -- Detecting CXX compiler ABI info
            -- Detecting CXX compiler ABI info - done
            -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
            -- Detecting CXX compile features
            -- Detecting CXX compile features - done
            -- Configuring done
            -- Generating done
            -- Build files have been written to: C:/structure/code/pyclesperanto/_cmake_test_compile/build
            -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19044.
            -- WARNING: No ICD found in virtual environment.
            -- Build project code coverage: OFF
            -- Build CLIc as shared lib: OFF
            -- Build tests: ON
            -- Build documentation: ON (WIP)
            -- Build benchmark: ON
            -- CMAKE_CONFIGURATION_TYPES: Release;Debug;MinSizeRel;RelWithDebInfo
            -- CMAKE_GENERATOR: Multi-config
            -- CMAKE_GENERATOR: Visual Studio 16 2019
            -- CMAKE_REGISTRY_FOLDER: OFF
            -- Found pybind11: C:/Users/rober/AppData/Local/Temp/pip-build-env-uqm4ap4f/overlay/Lib/site-packages/pybind11/include (found version "2.9.2")
            -- Configuring done
            -- Generating done
            -- Build files have been written to: C:/structure/code/pyclesperanto/_skbuild/win-amd64-3.9/cmake-build
            Microsoft (R) Build Engine version 16.11.1+3e40a09f8 for .NET Framework
            Copyright (C) Microsoft Corporation. All rights reserved.
    
              Checking Build System
              Generating cle_preamble header.
              Building Custom Rule C:/structure/code/pyclesperanto/CLIc/clic/CMakeLists.txt
              Generating kernels header from clij opencl files.
              Building Custom Rule C:/structure/code/pyclesperanto/CLIc/clic/CMakeLists.txt
              Generating cleKernelList header.
              Building Custom Rule C:/structure/code/pyclesperanto/CLIc/clic/CMakeLists.txt
              Building Custom Rule C:/structure/code/pyclesperanto/CLIc/clic/CMakeLists.txt
            cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\CLIc\clic\CLIc.vcxproj]
            cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\CLIc\clic\CLIc.vcxproj]
              cleKernel.cpp
              clesperanto.cpp
              cleAbsoluteKernel.cpp
              cleAddImageAndScalarKernel.cpp
              cleAddImagesWeightedKernel.cpp
              cleBinaryAndKernel.cpp
              cleBinaryNotKernel.cpp
              cleBinaryOrKernel.cpp
              cleBinarySubtractKernel.cpp
              cleBinaryXorKernel.cpp
              cleBlockEnumerateKernel.cpp
              cleCopyKernel.cpp
              cleDetectMaximaKernel.cpp
              cleDilateSphereKernel.cpp
              cleEqualConstantKernel.cpp
              cleEqualKernel.cpp
              cleErodeSphereKernel.cpp
              cleExecuteSeparableKernel.cpp
              cleFlagExistingLabelsKernel.cpp
              cleGaussianBlurKernel.cpp
              Generating Code...
              Compiling...
              cleGreaterConstantKernel.cpp
              cleGreaterKernel.cpp
              cleGreaterOrEqualConstantKernel.cpp
              cleGreaterOrEqualKernel.cpp
              cleMaskKernel.cpp
              cleMaximumBoxKernel.cpp
              cleMaximumXProjectionKernel.cpp
              cleMaximumYProjectionKernel.cpp
              cleMaximumZProjectionKernel.cpp
              cleMeanBoxKernel.cpp
              cleMeanSphereKernel.cpp
              cleMinimumBoxKernel.cpp
              cleMinimumXProjectionKernel.cpp
              cleMinimumYProjectionKernel.cpp
              cleMinimumZProjectionKernel.cpp
              cleNonzeroMinimumBoxKernel.cpp
              cleNotEqualConstantKernel.cpp
              cleNotEqualKernel.cpp
              cleOnlyzeroOverwriteMaximumBoxKernel.cpp
              cleOnlyzeroOverwriteMaximumDiamondKernel.cpp
              Generating Code...
              Compiling...
              cleReplaceIntensitiesKernel.cpp
              cleReplaceIntensityKernel.cpp
              cleSetColumnKernel.cpp
              cleSetKernel.cpp
              cleSetNonzeroPixelsToPixelindexKernel.cpp
              cleSmallerConstantKernel.cpp
              cleSmallerKernel.cpp
              cleSmallerOrEqualConstantKernel.cpp
              cleSmallerOrEqualKernel.cpp
              cleSobelKernel.cpp
              cleSumReductionKernel.cpp
              cleSumXProjectionKernel.cpp
              cleSumYProjectionKernel.cpp
              cleSumZProjectionKernel.cpp
              cleExtendLabelingViaVoronoiKernel.cpp
              cleMaximumOfAllPixelsKernel.cpp
              cleMinimumOfAllPixelsKernel.cpp
              cleSumOfAllPixelsKernel.cpp
              cleCloseIndexGapsInLabelMapKernel.cpp
              cleDifferenceOfGaussianKernel.cpp
              Generating Code...
              Compiling...
              cleHistogramKernel.cpp
              cleConnectedComponentsLabelingBoxKernel.cpp
              cleThresholdOtsuKernel.cpp
              cleMaskedVoronoiLabelingKernel.cpp
              cleVoronoiOtsuLabelingKernel.cpp
              Generating Code...
              CLIc.vcxproj -> C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\CLIc\clic\Release\CLIc.lib
              Building Custom Rule C:/structure/code/pyclesperanto/CMakeLists.txt
            cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
              pyclesperanto.cpp
            cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
              pydata.cpp
            cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
              pygpu.cpp
              pytier1.cpp
              pytier2.cpp
            cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
              pytier3.cpp
              pytier4.cpp
            C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\pybind11\include\pybind11\detail/init.h(79,1): error C2512: 'PyData': no appropriate default constructor available (compiling source file C:\structure\code\pyclesperanto\pyclesperanto\pydata.cpp) [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\pybind11\include\pybind11\detail/init.h(79,1): message : No constructor could take the source type, or constructor overload resolution was ambiguous (compiling source file C:\structure\code\pyclesperanto\pyclesperanto\pydata.cpp) [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\pybind11\include\pybind11\detail/init.h(206): message : see reference to function template instantiation 'Class *pybind11::detail::initimpl::construct_or_initialize<PyData,,0>(void)' being compiled [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
                      with
                      [
                          Class=PyData
                      ] (compiling source file C:\structure\code\pyclesperanto\pyclesperanto\pydata.cpp)
            C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\pybind11\include\pybind11/pybind11.h(1615): message : see reference to function template instantiation 'void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<PyData,std::shared_ptr<PyData>>,,0>(Class &)' being compiled [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
                      with
                      [
                          Class=pybind11::class_<PyData,std::shared_ptr<PyData>>
                      ] (compiling source file C:\structure\code\pyclesperanto\pyclesperanto\pydata.cpp)
            C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\pybind11\include\pybind11/pybind11.h(1615): message : see reference to function template instantiation 'void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<PyData,std::shared_ptr<PyData>>,,0>(Class &)' being compiled [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
                      with
                      [
                          Class=pybind11::class_<PyData,std::shared_ptr<PyData>>
                      ] (compiling source file C:\structure\code\pyclesperanto\pyclesperanto\pydata.cpp)
            C:\structure\code\pyclesperanto\pyclesperanto\pydata.cpp(27): message : see reference to function template instantiation 'pybind11::class_<PyData,std::shared_ptr<PyData>> &pybind11::class_<PyData,std::shared_ptr<PyData>>::def<,>(const pybind11::detail::initimpl::constructor<> &)' being compiled [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
            C:\structure\code\pyclesperanto\pyclesperanto\pydata.cpp(27): message : see reference to function template instantiation 'pybind11::class_<PyData,std::shared_ptr<PyData>> &pybind11::class_<PyData,std::shared_ptr<PyData>>::def<,>(const pybind11::detail::initimpl::constructor<> &)' being compiled [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
              File "C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\skbuild\setuptools_wrap.py", line 645, in setup
                cmkr.make(make_args, install_target=cmake_install_target, env=env)
              File "C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\skbuild\cmaker.py", line 660, in make
                self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env)
              File "C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\skbuild\cmaker.py", line 684, in make_impl
                raise SKBuildError(
            An error occurred while building with CMake.
              Command:
                cmake --build . --target install --config Release --
              Install target:
                install
              Source directory:
                C:\structure\code\pyclesperanto
              Working directory:
                C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build
            Please check the install target is valid and see CMake's output for more information.
    
    
            --------------------------------------------------------------------------------
            -- Trying "Ninja (Visual Studio 17 2022 x64 v143)" generator
            --------------------------------
            ---------------------------
            ----------------------
            -----------------
            ------------
            -------
            --
            --
            -------
            ------------
            -----------------
            ----------------------
            ---------------------------
            --------------------------------
            -- Trying "Ninja (Visual Studio 17 2022 x64 v143)" generator - failure
            --------------------------------------------------------------------------------
    
    
    
            --------------------------------------------------------------------------------
            -- Trying "Visual Studio 17 2022 x64 v143" generator
            --------------------------------
            ---------------------------
            ----------------------
            -----------------
            ------------
            -------
            --
            --
            -------
            ------------
            -----------------
            ----------------------
            ---------------------------
            --------------------------------
            -- Trying "Visual Studio 17 2022 x64 v143" generator - failure
            --------------------------------------------------------------------------------
    
    
    
            --------------------------------------------------------------------------------
            -- Trying "Ninja (Visual Studio 16 2019 x64 v142)" generator
            --------------------------------
            ---------------------------
            ----------------------
            -----------------
            ------------
            -------
            --
            --
            -------
            ------------
            -----------------
            ----------------------
            ---------------------------
            --------------------------------
            -- Trying "Ninja (Visual Studio 16 2019 x64 v142)" generator - failure
            --------------------------------------------------------------------------------
    
    
    
            --------------------------------------------------------------------------------
            -- Trying "Visual Studio 16 2019 x64 v142" generator
            --------------------------------
            ---------------------------
            ----------------------
            -----------------
            ------------
            -------
            --
            --
            -------
            ------------
            -----------------
            ----------------------
            ---------------------------
            --------------------------------
            -- Trying "Visual Studio 16 2019 x64 v142" generator - success
            --------------------------------------------------------------------------------
    
            Configuring Project
              Working directory:
                C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build
              Command:
                cmake 'C:\structure\code\pyclesperanto' -G 'Visual Studio 16 2019' '-DCMAKE_INSTALL_PREFIX:PATH=C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-install\pyclesperanto' '-DPYTHON_EXECUTABLE:FILEPATH=C:\Users\rober\miniconda3\envs\bio_39\python.exe' -DPYTHON_VERSION_STRING:STRING=3.9.10 '-DPYTHON_INCLUDE_DIR:PATH=C:\Users\rober\miniconda3\envs\bio_39\Include' '-DPYTHON_LIBRARY:FILEPATH=C:\Users\rober\miniconda3\envs\bio_39\libs\python39.lib' -DSKBUILD:INTERNAL=TRUE '-DCMAKE_MODULE_PATH:PATH=C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\skbuild\resources\cmake' -T v142 -A x64 -DCMAKE_BUILD_TYPE:STRING=Release
    
            Traceback (most recent call last):
    
            [end of output]
    
        note: This error originates from a subprocess, and is likely not a problem with pip.
    error: subprocess-exited-with-error
    
    × python setup.py develop did not run successfully.
    │ exit code: 1
    ╰─> [381 lines of output]
        C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\setuptools\command\easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
          warnings.warn(
        Not searching for unused variables given on the command line.
        -- The C compiler identification is MSVC 19.29.30136.0
        -- Detecting C compiler ABI info
        -- Detecting C compiler ABI info - failed
        -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe
        -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - broken
        CMake Error at C:/Users/rober/AppData/Local/Temp/pip-build-env-uqm4ap4f/overlay/Lib/site-packages/cmake/data/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake:69 (message):
          The C compiler
    
            "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe"
    
          is not able to compile a simple test program.
    
          It fails with the following output:
    
            Change Dir: C:/structure/code/pyclesperanto/_cmake_test_compile/build/CMakeFiles/CMakeTmp
    
            Run Build Command(s):C:/Users/rober/AppData/Local/Temp/pip-build-env-uqm4ap4f/overlay/Lib/site-packages/ninja/data/bin/ninja cmTC_ed0a6 && [1/2] Building C object CMakeFiles\cmTC_ed0a6.dir\testCCompiler.c.obj
            [2/2] Linking C executable cmTC_ed0a6.exe
            FAILED: cmTC_ed0a6.exe
            cmd.exe /C "cd . && C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\cmake\data\bin\cmake.exe -E vs_link_exe --intdir=CMakeFiles\cmTC_ed0a6.dir --rc=rc --mt=CMAKE_MT-NOTFOUND --manifests  -- C:\PROGRA~2\MICROS~3\2019\BUILDT~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo CMakeFiles\cmTC_ed0a6.dir\testCCompiler.c.obj  /out:cmTC_ed0a6.exe /implib:cmTC_ed0a6.lib /pdb:cmTC_ed0a6.pdb /version:0.0 /machine:x64  /debug /INCREMENTAL /subsystem:console  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
            RC Pass 1: command "rc /fo CMakeFiles\cmTC_ed0a6.dir/manifest.res CMakeFiles\cmTC_ed0a6.dir/manifest.rc" failed (exit code 0) with the following output:
            The system cannot find the file specified
            ninja: build stopped: subcommand failed.
    
    
    
    
    
          CMake will not be able to correctly generate this project.
        Call Stack (most recent call first):
          CMakeLists.txt:3 (ENABLE_LANGUAGE)
    
    
        -- Configuring incomplete, errors occurred!
        See also "C:/structure/code/pyclesperanto/_cmake_test_compile/build/CMakeFiles/CMakeOutput.log".
        See also "C:/structure/code/pyclesperanto/_cmake_test_compile/build/CMakeFiles/CMakeError.log".
        Not searching for unused variables given on the command line.
        CMake Error at CMakeLists.txt:2 (PROJECT):
          Generator
    
            Visual Studio 17 2022
    
          could not find any instance of Visual Studio.
    
    
    
        -- Configuring incomplete, errors occurred!
        See also "C:/structure/code/pyclesperanto/_cmake_test_compile/build/CMakeFiles/CMakeOutput.log".
        Not searching for unused variables given on the command line.
        -- The C compiler identification is MSVC 19.29.30136.0
        -- Detecting C compiler ABI info
        -- Detecting C compiler ABI info - failed
        -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe
        -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - broken
        CMake Error at C:/Users/rober/AppData/Local/Temp/pip-build-env-uqm4ap4f/overlay/Lib/site-packages/cmake/data/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake:69 (message):
          The C compiler
    
            "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe"
    
          is not able to compile a simple test program.
    
          It fails with the following output:
    
            Change Dir: C:/structure/code/pyclesperanto/_cmake_test_compile/build/CMakeFiles/CMakeTmp
    
            Run Build Command(s):C:/Users/rober/AppData/Local/Temp/pip-build-env-uqm4ap4f/overlay/Lib/site-packages/ninja/data/bin/ninja cmTC_c45bc && [1/2] Building C object CMakeFiles\cmTC_c45bc.dir\testCCompiler.c.obj
            [2/2] Linking C executable cmTC_c45bc.exe
            FAILED: cmTC_c45bc.exe
            cmd.exe /C "cd . && C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\cmake\data\bin\cmake.exe -E vs_link_exe --intdir=CMakeFiles\cmTC_c45bc.dir --rc=rc --mt=CMAKE_MT-NOTFOUND --manifests  -- C:\PROGRA~2\MICROS~3\2019\BUILDT~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo CMakeFiles\cmTC_c45bc.dir\testCCompiler.c.obj  /out:cmTC_c45bc.exe /implib:cmTC_c45bc.lib /pdb:cmTC_c45bc.pdb /version:0.0 /machine:x64  /debug /INCREMENTAL /subsystem:console  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
            RC Pass 1: command "rc /fo CMakeFiles\cmTC_c45bc.dir/manifest.res CMakeFiles\cmTC_c45bc.dir/manifest.rc" failed (exit code 0) with the following output:
            The system cannot find the file specified
            ninja: build stopped: subcommand failed.
    
    
    
    
    
          CMake will not be able to correctly generate this project.
        Call Stack (most recent call first):
          CMakeLists.txt:3 (ENABLE_LANGUAGE)
    
    
        -- Configuring incomplete, errors occurred!
        See also "C:/structure/code/pyclesperanto/_cmake_test_compile/build/CMakeFiles/CMakeOutput.log".
        See also "C:/structure/code/pyclesperanto/_cmake_test_compile/build/CMakeFiles/CMakeError.log".
        Not searching for unused variables given on the command line.
        -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19044.
        -- The C compiler identification is MSVC 19.29.30136.0
        -- Detecting C compiler ABI info
        -- Detecting C compiler ABI info - done
        -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
        -- Detecting C compile features
        -- Detecting C compile features - done
        -- The CXX compiler identification is MSVC 19.29.30136.0
        CMake Warning (dev) at C:/Users/rober/AppData/Local/Temp/pip-build-env-uqm4ap4f/overlay/Lib/site-packages/cmake/data/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:162 (if):
          Policy CMP0054 is not set: Only interpret if() arguments as variables or
          keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
          details.  Use the cmake_policy command to set the policy and suppress this
          warning.
    
          Quoted variables like "MSVC" will no longer be dereferenced when the policy
          is set to NEW.  Since the policy is not set the OLD behavior will be used.
        Call Stack (most recent call first):
          CMakeLists.txt:4 (ENABLE_LANGUAGE)
        This warning is for project developers.  Use -Wno-dev to suppress it.
    
        CMake Warning (dev) at C:/Users/rober/AppData/Local/Temp/pip-build-env-uqm4ap4f/overlay/Lib/site-packages/cmake/data/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:183 (elseif):
          Policy CMP0054 is not set: Only interpret if() arguments as variables or
          keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
          details.  Use the cmake_policy command to set the policy and suppress this
          warning.
    
          Quoted variables like "MSVC" will no longer be dereferenced when the policy
          is set to NEW.  Since the policy is not set the OLD behavior will be used.
        Call Stack (most recent call first):
          CMakeLists.txt:4 (ENABLE_LANGUAGE)
        This warning is for project developers.  Use -Wno-dev to suppress it.
    
        -- Detecting CXX compiler ABI info
        -- Detecting CXX compiler ABI info - done
        -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
        -- Detecting CXX compile features
        -- Detecting CXX compile features - done
        -- Configuring done
        -- Generating done
        -- Build files have been written to: C:/structure/code/pyclesperanto/_cmake_test_compile/build
        -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19044.
        -- WARNING: No ICD found in virtual environment.
        -- Build project code coverage: OFF
        -- Build CLIc as shared lib: OFF
        -- Build tests: ON
        -- Build documentation: ON (WIP)
        -- Build benchmark: ON
        -- CMAKE_CONFIGURATION_TYPES: Release;Debug;MinSizeRel;RelWithDebInfo
        -- CMAKE_GENERATOR: Multi-config
        -- CMAKE_GENERATOR: Visual Studio 16 2019
        -- CMAKE_REGISTRY_FOLDER: OFF
        -- Found pybind11: C:/Users/rober/AppData/Local/Temp/pip-build-env-uqm4ap4f/overlay/Lib/site-packages/pybind11/include (found version "2.9.2")
        -- Configuring done
        -- Generating done
        -- Build files have been written to: C:/structure/code/pyclesperanto/_skbuild/win-amd64-3.9/cmake-build
        Microsoft (R) Build Engine version 16.11.1+3e40a09f8 for .NET Framework
        Copyright (C) Microsoft Corporation. All rights reserved.
    
          Checking Build System
          Generating cle_preamble header.
          Building Custom Rule C:/structure/code/pyclesperanto/CLIc/clic/CMakeLists.txt
          Generating kernels header from clij opencl files.
          Building Custom Rule C:/structure/code/pyclesperanto/CLIc/clic/CMakeLists.txt
          Generating cleKernelList header.
          Building Custom Rule C:/structure/code/pyclesperanto/CLIc/clic/CMakeLists.txt
          Building Custom Rule C:/structure/code/pyclesperanto/CLIc/clic/CMakeLists.txt
        cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\CLIc\clic\CLIc.vcxproj]
        cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\CLIc\clic\CLIc.vcxproj]
          cleKernel.cpp
          clesperanto.cpp
          cleAbsoluteKernel.cpp
          cleAddImageAndScalarKernel.cpp
          cleAddImagesWeightedKernel.cpp
          cleBinaryAndKernel.cpp
          cleBinaryNotKernel.cpp
          cleBinaryOrKernel.cpp
          cleBinarySubtractKernel.cpp
          cleBinaryXorKernel.cpp
          cleBlockEnumerateKernel.cpp
          cleCopyKernel.cpp
          cleDetectMaximaKernel.cpp
          cleDilateSphereKernel.cpp
          cleEqualConstantKernel.cpp
          cleEqualKernel.cpp
          cleErodeSphereKernel.cpp
          cleExecuteSeparableKernel.cpp
          cleFlagExistingLabelsKernel.cpp
          cleGaussianBlurKernel.cpp
          Generating Code...
          Compiling...
          cleGreaterConstantKernel.cpp
          cleGreaterKernel.cpp
          cleGreaterOrEqualConstantKernel.cpp
          cleGreaterOrEqualKernel.cpp
          cleMaskKernel.cpp
          cleMaximumBoxKernel.cpp
          cleMaximumXProjectionKernel.cpp
          cleMaximumYProjectionKernel.cpp
          cleMaximumZProjectionKernel.cpp
          cleMeanBoxKernel.cpp
          cleMeanSphereKernel.cpp
          cleMinimumBoxKernel.cpp
          cleMinimumXProjectionKernel.cpp
          cleMinimumYProjectionKernel.cpp
          cleMinimumZProjectionKernel.cpp
          cleNonzeroMinimumBoxKernel.cpp
          cleNotEqualConstantKernel.cpp
          cleNotEqualKernel.cpp
          cleOnlyzeroOverwriteMaximumBoxKernel.cpp
          cleOnlyzeroOverwriteMaximumDiamondKernel.cpp
          Generating Code...
          Compiling...
          cleReplaceIntensitiesKernel.cpp
          cleReplaceIntensityKernel.cpp
          cleSetColumnKernel.cpp
          cleSetKernel.cpp
          cleSetNonzeroPixelsToPixelindexKernel.cpp
          cleSmallerConstantKernel.cpp
          cleSmallerKernel.cpp
          cleSmallerOrEqualConstantKernel.cpp
          cleSmallerOrEqualKernel.cpp
          cleSobelKernel.cpp
          cleSumReductionKernel.cpp
          cleSumXProjectionKernel.cpp
          cleSumYProjectionKernel.cpp
          cleSumZProjectionKernel.cpp
          cleExtendLabelingViaVoronoiKernel.cpp
          cleMaximumOfAllPixelsKernel.cpp
          cleMinimumOfAllPixelsKernel.cpp
          cleSumOfAllPixelsKernel.cpp
          cleCloseIndexGapsInLabelMapKernel.cpp
          cleDifferenceOfGaussianKernel.cpp
          Generating Code...
          Compiling...
          cleHistogramKernel.cpp
          cleConnectedComponentsLabelingBoxKernel.cpp
          cleThresholdOtsuKernel.cpp
          cleMaskedVoronoiLabelingKernel.cpp
          cleVoronoiOtsuLabelingKernel.cpp
          Generating Code...
          CLIc.vcxproj -> C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\CLIc\clic\Release\CLIc.lib
          Building Custom Rule C:/structure/code/pyclesperanto/CMakeLists.txt
        cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
          pyclesperanto.cpp
        cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
          pydata.cpp
        cl : command line warning D9002: ignoring unknown option '-fPIC' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
          pygpu.cpp
          pytier1.cpp
          pytier2.cpp
        cl : command line warning D9002: ignoring unknown option '-fvisibility=hidden' [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
          pytier3.cpp
          pytier4.cpp
        C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\pybind11\include\pybind11\detail/init.h(79,1): error C2512: 'PyData': no appropriate default constructor available (compiling source file C:\structure\code\pyclesperanto\pyclesperanto\pydata.cpp) [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\pybind11\include\pybind11\detail/init.h(79,1): message : No constructor could take the source type, or constructor overload resolution was ambiguous (compiling source file C:\structure\code\pyclesperanto\pyclesperanto\pydata.cpp) [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\pybind11\include\pybind11\detail/init.h(206): message : see reference to function template instantiation 'Class *pybind11::detail::initimpl::construct_or_initialize<PyData,,0>(void)' being compiled [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
                  with
                  [
                      Class=PyData
                  ] (compiling source file C:\structure\code\pyclesperanto\pyclesperanto\pydata.cpp)
        C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\pybind11\include\pybind11/pybind11.h(1615): message : see reference to function template instantiation 'void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<PyData,std::shared_ptr<PyData>>,,0>(Class &)' being compiled [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
                  with
                  [
                      Class=pybind11::class_<PyData,std::shared_ptr<PyData>>
                  ] (compiling source file C:\structure\code\pyclesperanto\pyclesperanto\pydata.cpp)
        C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\pybind11\include\pybind11/pybind11.h(1615): message : see reference to function template instantiation 'void pybind11::detail::initimpl::constructor<>::execute<pybind11::class_<PyData,std::shared_ptr<PyData>>,,0>(Class &)' being compiled [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
                  with
                  [
                      Class=pybind11::class_<PyData,std::shared_ptr<PyData>>
                  ] (compiling source file C:\structure\code\pyclesperanto\pyclesperanto\pydata.cpp)
        C:\structure\code\pyclesperanto\pyclesperanto\pydata.cpp(27): message : see reference to function template instantiation 'pybind11::class_<PyData,std::shared_ptr<PyData>> &pybind11::class_<PyData,std::shared_ptr<PyData>>::def<,>(const pybind11::detail::initimpl::constructor<> &)' being compiled [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
        C:\structure\code\pyclesperanto\pyclesperanto\pydata.cpp(27): message : see reference to function template instantiation 'pybind11::class_<PyData,std::shared_ptr<PyData>> &pybind11::class_<PyData,std::shared_ptr<PyData>>::def<,>(const pybind11::detail::initimpl::constructor<> &)' being compiled [C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build\_pyclesperanto.vcxproj]
          File "C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\skbuild\setuptools_wrap.py", line 645, in setup
            cmkr.make(make_args, install_target=cmake_install_target, env=env)
          File "C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\skbuild\cmaker.py", line 660, in make
            self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env)
          File "C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\skbuild\cmaker.py", line 684, in make_impl
            raise SKBuildError(
        An error occurred while building with CMake.
          Command:
            cmake --build . --target install --config Release --
          Install target:
            install
          Source directory:
            C:\structure\code\pyclesperanto
          Working directory:
            C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build
        Please check the install target is valid and see CMake's output for more information.
    
    
        --------------------------------------------------------------------------------
        -- Trying "Ninja (Visual Studio 17 2022 x64 v143)" generator
        --------------------------------
        ---------------------------
        ----------------------
        -----------------
        ------------
        -------
        --
        --
        -------
        ------------
        -----------------
        ----------------------
        ---------------------------
        --------------------------------
        -- Trying "Ninja (Visual Studio 17 2022 x64 v143)" generator - failure
        --------------------------------------------------------------------------------
    
    
    
        --------------------------------------------------------------------------------
        -- Trying "Visual Studio 17 2022 x64 v143" generator
        --------------------------------
        ---------------------------
        ----------------------
        -----------------
        ------------
        -------
        --
        --
        -------
        ------------
        -----------------
        ----------------------
        ---------------------------
        --------------------------------
        -- Trying "Visual Studio 17 2022 x64 v143" generator - failure
        --------------------------------------------------------------------------------
    
    
    
        --------------------------------------------------------------------------------
        -- Trying "Ninja (Visual Studio 16 2019 x64 v142)" generator
        --------------------------------
        ---------------------------
        ----------------------
        -----------------
        ------------
        -------
        --
        --
        -------
        ------------
        -----------------
        ----------------------
        ---------------------------
        --------------------------------
        -- Trying "Ninja (Visual Studio 16 2019 x64 v142)" generator - failure
        --------------------------------------------------------------------------------
    
    
    
        --------------------------------------------------------------------------------
        -- Trying "Visual Studio 16 2019 x64 v142" generator
        --------------------------------
        ---------------------------
        ----------------------
        -----------------
        ------------
        -------
        --
        --
        -------
        ------------
        -----------------
        ----------------------
        ---------------------------
        --------------------------------
        -- Trying "Visual Studio 16 2019 x64 v142" generator - success
        --------------------------------------------------------------------------------
    
        Configuring Project
          Working directory:
            C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-build
          Command:
            cmake 'C:\structure\code\pyclesperanto' -G 'Visual Studio 16 2019' '-DCMAKE_INSTALL_PREFIX:PATH=C:\structure\code\pyclesperanto\_skbuild\win-amd64-3.9\cmake-install\pyclesperanto' '-DPYTHON_EXECUTABLE:FILEPATH=C:\Users\rober\miniconda3\envs\bio_39\python.exe' -DPYTHON_VERSION_STRING:STRING=3.9.10 '-DPYTHON_INCLUDE_DIR:PATH=C:\Users\rober\miniconda3\envs\bio_39\Include' '-DPYTHON_LIBRARY:FILEPATH=C:\Users\rober\miniconda3\envs\bio_39\libs\python39.lib' -DSKBUILD:INTERNAL=TRUE '-DCMAKE_MODULE_PATH:PATH=C:\Users\rober\AppData\Local\Temp\pip-build-env-uqm4ap4f\overlay\Lib\site-packages\skbuild\resources\cmake' -T v142 -A x64 -DCMAKE_BUILD_TYPE:STRING=Release
    
        Traceback (most recent call last):
    
        [end of output]
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
    
    opened by haesleinhuepf 6
  • Cle api pimped

    Cle api pimped

    Hi Stephane @StRigaud ,

    here comes the pimped API as follow up of #8 . It allows cle-functions to consume numpy-arrays instead of opencl-data. Furthermore, if output-images are not set, they are automatically created. Hence, this works:

    a = np.zeros((10,10))
    b = cle.gaussian_blur(a, sigma_x=2, sigma_y=2)
    

    We're coming close to the prototype API :-) !

    Best, Robert

    opened by haesleinhuepf 4
  • Unefficient data copy from python to C++ during `push`/`pull` operations

    Unefficient data copy from python to C++ during `push`/`pull` operations

    Clearly visible in the basic operations benchmark notebook.

    pyclesperanto push and pull operation is highly increasing with data size and we have a lost of speed compare to the prototype during those step.

    The hypothesis for this rely in the wrapper function Push and Pull which make the bridge between Numpy array input and a C++ std::vector which is the data structure used in CLIc.

    This is done by getting the array first element pointer and array size and copy the data inside a vector structure which is then used in CLIc.

    // push operation: copy numpy arr values into std::vector values
    float *arr_ptr = static_cast<float *>(arr.ptr);
    std::vector<float> values(arr_ptr, arr_ptr + arr.size);
    

    and

    // pull operation: create a numpy space and copy vector values into it
    auto result = pybind11::array_t<float, pybind11::array::c_style | pybind11::array::forcecast>(output.size());
    float *ptr = static_cast<float *>(result.request().ptr);
    for (int i = 0; i < output.size(); ++i)
    {
        ptr[i] = output[i];
    }
    

    This imply a data copy with loop over elements which is, for now, the only explanation I found to justify such variation in time between the two approaches.

    We may need to allows the usage of simplistic c++ array structure and pointer as an entry of CLIc to avoid much as possible copy operations or loop around array elements.


    index

    enhancement wrapper 
    opened by StRigaud 2
  • Bump CLIc from `7d82883` to `40df89e`

    Bump CLIc from `7d82883` to `40df89e`

    Bumps CLIc from 7d82883 to 40df89e.

    Commits
    • 40df89e Merge pull request #119 from clEsperanto/add_custom_kernel
    • 41c0972 FIX: use ${PROJECT_SOURCE_DIR} for path specification
    • 18f6a42 FIX: path to kernel file
    • d88b3c0 FIX: path to kernel file
    • ecc1f43 ADD: error message if file is not found
    • 5a8ef77 FIX: path to kernel source
    • f169543 FIX: small typo and bug
    • 9a696a9 ADD: Custom kernel class
    • See full diff in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies submodules 
    opened by dependabot[bot] 2
  • More functions and examples

    More functions and examples

    Hey Stephane @StRigaud ,

    here come some more functions + a workflow benchmark notebook for the Tribolium dataset. Looks very good!

    I'll continue tomorrow with the docstrings and likely some more functions.

    Cheers, Robert

    opened by haesleinhuepf 2
  • Potential width/height mixup in separable filters

    Potential width/height mixup in separable filters

    Hi Stephane @StRigaud ,

    as just discussed, there might be an issue with images that don't have the same width/height in CLIc. In order reproduce the issue, you may need to checkout this branch of pyclesperanto:

    https://github.com/clEsperanto/pyclesperanto/tree/cle_API_pimped

    and then run this code:

    from skimage.io import imread, imshow
    from pyclesperanto import Clesperanto
    
    cle = Clesperanto()
    image = imread("blobs.tif")
    blurred = cle.gaussian_blur(image, sigma_x=16, sigma_y=16, sigma_z=16)
    
    imshow(cle.pull(blurred))
    

    It will then look like this:

    image

    Let me know if you need anything else!

    Thanks!

    Best, Robert

    bug 
    opened by haesleinhuepf 2
  • Enable dtype specific memory

    Enable dtype specific memory

    For now, only float type memory was possible in pyclesperanto.

    The aim here is to make possible to create, push, and pull array of float, int32, int16 and int8 (and their unsigned equivalent).

    The wrapper will have a name specific function for each type as such:

    • _PushFloat and _PullFloat
    • _PushInt32 and _PullInt32
    • _PushInt16 and _PullInt16
    • etc.

    _Create now take a cle.dType as parameter, and default will be cle.float.

    All of those are then encapsulate into the classic push, pull, create python function. dType are defined from Numpy dtype and correct function call is step in consequence.

    Possible Issue:

    • ImageOperator python class to mimic Numpy API request import of the wrapper function _Pull instead of the pythonised pull which now manage type return. For now, default _PullFloat is used, which means that image operator always pull a float. This could bug if image is not float.
    • Possible need to make an interoperability between cle.dType, np.dtype, and native types, to allows users to use float instead of cle.float

    How it look like for now :

    import pyclesperanto as cle
    import numpy as np
    
    buffer_short = cle.create( (5,5), cle.int16)          # <-- create an empty buffer space of short type
    buffer_int = cle.push( np,ones((5,5), dtype=int) )    # <-- push an array of int type
    arr_int = cle.pull(buffer_int)                        # <-- pull a buffer of int into an array of int
    
    enhancement wrapper api 
    opened by StRigaud 1
  • Replace submodules by CMake git clone methods

    Replace submodules by CMake git clone methods

    Similarly to what was done to avoid the usage of submodules for the CLIc repo, the idea here is to avoid to use the submodules to fetch and to, instead, set CMake to git clone the latest release version.

    This will releave the necessity to regularly update the submodules to the latest commit. Dependabot can take charge of it but at a cost of regular PR.

    See corresponding PR for information:

    • https://github.com/clEsperanto/CLIc_prototype/pull/122
    • https://github.com/clEsperanto/CLIc_prototype/pull/121
    build 
    opened by StRigaud 1
  • Bump CLIc from `09fc472` to `8184d1f`

    Bump CLIc from `09fc472` to `8184d1f`

    Bumps CLIc from 09fc472 to 8184d1f.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies submodules 
    opened by dependabot[bot] 1
  • Fix axis order

    Fix axis order

    Related to:

    • #11

    Enforce dimensions flip when switching from python to c++ and reverse in the wrapper code

    Also needed to change create_like to provide the shape as numpy standards

    This is a quick fix, other modification would be required.

    opened by StRigaud 1
  • Bump pypa/cibuildwheel from 2.11.3 to 2.11.4

    Bump pypa/cibuildwheel from 2.11.3 to 2.11.4

    Bumps pypa/cibuildwheel from 2.11.3 to 2.11.4.

    Release notes

    Sourced from pypa/cibuildwheel's releases.

    v2.11.4

    • 🐛 Fix a bug that caused missing wheels on Windows when a test was skipped using CIBW_TEST_SKIP (#1377)
    • 🛠 Updates CPython 3.11 to 3.11.1 (#1371)
    • 🛠 Updates PyPy 3.7 to 3.7.10, except on macOS which remains on 7.3.9 due to a bug. (#1371)
    • 📚 Added a reference to abi3audit to the docs (#1347)
    Changelog

    Sourced from pypa/cibuildwheel's changelog.

    v2.11.4

    24 Dec 2022

    • 🐛 Fix a bug that caused missing wheels on Windows when a test was skipped using CIBW_TEST_SKIP (#1377)
    • 🛠 Updates CPython 3.11 to 3.11.1 (#1371)
    • 🛠 Updates PyPy to 7.3.10, except on macOS which remains on 7.3.9 due to a bug on that platform. (#1371)
    • 📚 Added a reference to abi3audit to the docs (#1347)
    Commits
    • 27fc88e Bump version: v2.11.4
    • a7e9ece Merge pull request #1371 from pypa/update-dependencies-pr
    • b9a3ed8 Update cibuildwheel/resources/build-platforms.toml
    • 3dcc2ff fix: not skipping the tests stops the copy (Windows ARM) (#1377)
    • 1c9ec76 Merge pull request #1378 from pypa/henryiii-patch-3
    • 22b433d Merge pull request #1379 from pypa/pre-commit-ci-update-config
    • 98fdf8c [pre-commit.ci] pre-commit autoupdate
    • cefc5a5 Update dependencies
    • e53253d ci: move to ubuntu 20
    • e9ecc65 [pre-commit.ci] pre-commit autoupdate (#1374)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Enable dtype memory

    Enable dtype memory

    For now, only float type memory was possible in pyclesperanto.

    The aim here is to make possible to create, push, and pull array of float, int32, int16 and int8 (and their unsigned equivalent).

    • 'Create can now take a dType
    • Push is now templated on numpy type
    • Pull is now type specific: PullFloat, PullInt32, etc.

    Possible Issue:

    • ImageOperator python class to mimic Numpy API request import of the wrapper function _Pull instead of the pythonised pull which now manage type return. Not a bloquing issue but code quality could be improve if we could rely on the pythonised pull instead.
    • Any uses of non-valide CLIc type, should be cast as float32. Tests are needed.

    How it look like for now :

    import pyclesperanto as cle
    import numpy as np
    
    buffer_short = cle.create( (5,5), cle.int16)          # <-- create an empty buffer space of short type
    buffer_int = cle.push( np,ones((5,5), dtype=np.int32) )    # <-- push an array of int type
    arr_int = cle.pull(buffer_int)                        # <-- pull a buffer of int into an array of int
    
    enhancement wrapper api 
    opened by StRigaud 0
  • detect_maxima_box has no radius parameter

    detect_maxima_box has no radius parameter

    There's a minor difference between pyclesperanto_prototype and pyclesperanto: The function detect_maxima_box() has no radius_x,... parameters in pyclesperanto. Is this intentional?

    low_priority 
    opened by haesleinhuepf 3
  • Kernel wishlist

    Kernel wishlist

    Hi Stephane @StRigaud ,

    I'm just attempting to implement some basic workflows and some operations are missing. I'll list them here and would consider them as high priority. These are not necessary before I2K, but nice to have.

    • subtract_image_from_scalar for inverting an image
    • dilate_labels for segmenting the rim of nuclei
    • multiply_images
    • divide_images

    I'll extend that list in the coming days.

    No rush!

    opened by haesleinhuepf 5
  • Projection operation are very slow

    Projection operation are very slow

    When benchmarking the histogram I have notice that pyclesperanto is very slow. I identified the issue to the SumYProjection operation at the end to sum the partial histogram into a final one.

    Projection (minimum, maximum, and sum) are costly without any good reason. We need to solve this issue.

    Possible things to check:

    • Only tested Y and Z direction, is it the same for X?
    • Is the GlobalNDRange correct?

    Projection kernels are very basics, I fail to understand why they can be so slow ...

    bug 
    opened by StRigaud 2
Releases(0.6.5)
Owner
GPU-accelerated image processing across languages and platforms
null
NVIDIA Merlin is an open source library providing end-to-end GPU-accelerated recommender systems, from feature engineering and preprocessing to training deep learning models and running inference in production.

NVIDIA Merlin NVIDIA Merlin is an open source library designed to accelerate recommender systems on NVIDIA’s GPUs. It enables data scientists, machine

null 419 Jan 3, 2023
GPU-accelerated PyTorch implementation of Zero-shot User Intent Detection via Capsule Neural Networks

GPU-accelerated PyTorch implementation of Zero-shot User Intent Detection via Capsule Neural Networks This repository implements a capsule model Inten

Joel Huang 15 Dec 24, 2022
(Py)TOD: Tensor-based Outlier Detection, A General GPU-Accelerated Framework

(Py)TOD: Tensor-based Outlier Detection, A General GPU-Accelerated Framework Background: Outlier detection (OD) is a key data mining task for identify

Yue Zhao 127 Jan 5, 2023
GPU Accelerated Non-rigid ICP for surface registration

GPU Accelerated Non-rigid ICP for surface registration Introduction Preivous Non-rigid ICP algorithm is usually implemented on CPU, and needs to solve

Haozhe Wu 144 Jan 4, 2023
Multiple types of NN model optimization environments. It is possible to directly access the host PC GUI and the camera to verify the operation. Intel iHD GPU (iGPU) support. NVIDIA GPU (dGPU) support.

mtomo Multiple types of NN model optimization environments. It is possible to directly access the host PC GUI and the camera to verify the operation.

Katsuya Hyodo 24 Mar 2, 2022
High performance Cross-platform Inference-engine, you could run Anakin on x86-cpu,arm, nv-gpu, amd-gpu,bitmain and cambricon devices.

Anakin2.0 Welcome to the Anakin GitHub. Anakin is a cross-platform, high-performance inference engine, which is originally developed by Baidu engineer

null 514 Dec 28, 2022
GrabGpu_py: a scripts for grab gpu when gpu is free

GrabGpu_py a scripts for grab gpu when gpu is free. WaitCondition: gpu_memory >

tianyuluan 3 Jun 18, 2022
Third party Pytorch implement of Image Processing Transformer (Pre-Trained Image Processing Transformer arXiv:2012.00364v2)

ImageProcessingTransformer Third party Pytorch implement of Image Processing Transformer (Pre-Trained Image Processing Transformer arXiv:2012.00364v2)

null 61 Jan 1, 2023
A python comtrade load library accelerated by go

Comtrade-GRPC Code for python used is mainly from dparrini/python-comtrade. Just patch the code in BinaryDatReader.parse for parsing a little more eff

Bo 1 Dec 27, 2021
A fast poisson image editing implementation that can utilize multi-core CPU or GPU to handle a high-resolution image input.

Poisson Image Editing - A Parallel Implementation Jiayi Weng (jiayiwen), Zixu Chen (zixuc) Poisson Image Editing is a technique that can fuse two imag

Jiayi Weng 110 Dec 27, 2022
Accelerated deep learning R&D

Accelerated deep learning R&D PyTorch framework for Deep Learning research and development. It focuses on reproducibility, rapid experimentation, and

Catalyst-Team 3.1k Jan 6, 2023
3D ResNet Video Classification accelerated by TensorRT

Activity Recognition TensorRT Perform video classification using 3D ResNets trained on Kinetics-400 dataset and accelerated with TensorRT P.S Click on

Akash James 39 Nov 21, 2022
Hardware accelerated, batchable and differentiable optimizers in JAX.

JAXopt Installation | Examples | References Hardware accelerated (GPU/TPU), batchable and differentiable optimizers in JAX. Installation JAXopt can be

Google 621 Jan 8, 2023
Fast and scalable uncertainty quantification for neural molecular property prediction, accelerated optimization, and guided virtual screening.

Evidential Deep Learning for Guided Molecular Property Prediction and Discovery Ava Soleimany*, Alexander Amini*, Samuel Goldman*, Daniela Rus, Sangee

Alexander Amini 75 Dec 15, 2022
meProp: Sparsified Back Propagation for Accelerated Deep Learning

meProp The codes were used for the paper meProp: Sparsified Back Propagation for Accelerated Deep Learning with Reduced Overfitting (ICML 2017) [pdf]

LancoPKU 107 Nov 18, 2022
Implements pytorch code for the Accelerated SGD algorithm.

AccSGD This is the code associated with Accelerated SGD algorithm used in the paper On the insufficiency of existing momentum schemes for Stochastic O

null 205 Jan 2, 2023
meProp: Sparsified Back Propagation for Accelerated Deep Learning (ICML 2017)

meProp The codes were used for the paper meProp: Sparsified Back Propagation for Accelerated Deep Learning with Reduced Overfitting (ICML 2017) [pdf]

LancoPKU 107 Nov 18, 2022
Real-time pose estimation accelerated with NVIDIA TensorRT

trt_pose Want to detect hand poses? Check out the new trt_pose_hand project for real-time hand pose and gesture recognition! trt_pose is aimed at enab

NVIDIA AI IOT 803 Jan 6, 2023