he-transformer | Deep learning with Homomorphic Encryption | Machine Learning library

 by   IntelAI C++ Version: Current License: Apache-2.0

kandi X-RAY | he-transformer Summary

kandi X-RAY | he-transformer Summary

he-transformer is a C++ library typically used in Artificial Intelligence, Machine Learning, Deep Learning, Tensorflow applications. he-transformer has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

The Intel HE transformer for nGraph is a Homomorphic Encryption (HE) backend to the Intel nGraph Compiler, Intel's graph compiler for Artificial Neural Networks. Homomorphic encryption is a form of encryption that allows computation on encrypted data, and is an attractive remedy to increasing concerns about data privacy in the field of machine learning. For more information, see our original paper. Our updated paper showcases many of the recent advances in he-transformer. This project is meant as a proof-of-concept to demonstrate the feasibility of HE on local machines. The goal is to measure performance of various HE schemes for deep learning. This is not intended to be a production-ready product, but rather a research tool. Currently, we support the CKKS encryption scheme, implemented by the Simple Encrypted Arithmetic Library (SEAL) from Microsoft Research. To help compute non-polynomial activiations, we additionally integrate with the ABY multi-party computation library. See also the NDSS 2015 paper introducing ABY. For more details about our integration with ABY, please refer to our ARES 2020 paper. We also integrate with the Intel nGraph Compiler and runtime engine for TensorFlow to allow users to run inference on trained neural networks through Tensorflow.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              he-transformer has a low active ecosystem.
              It has 89 star(s) with 21 fork(s). There are 6 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 16 open issues and 12 have been closed. On average issues are closed in 14 days. There are 2 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of he-transformer is current.

            kandi-Quality Quality

              he-transformer has 0 bugs and 0 code smells.

            kandi-Security Security

              he-transformer has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              he-transformer code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              he-transformer is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              he-transformer releases are not available. You will need to build from source code and install.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of he-transformer
            Get all kandi verified functions for this library.

            he-transformer Key Features

            No Key Features are available at this moment for he-transformer.

            he-transformer Examples and Code Snippets

            Creates a new transformer transformation transformer .
            pythondot img1Lines of Code : 28dot img1License : Non-SPDX (Apache License 2.0)
            copy iconCopy
            def _add_uniform_scaling_initializer_transformer(
                parent, node, full_name, name, logs):
              """Updates references to uniform_unit_scaling_initializer.
            
              Transforms:
              tf.uniform_unit_scaling_initializer(factor, seed, dtype) to
              tf.compat.v1.keras  
            He heap .
            javascriptdot img2Lines of Code : 16dot img2License : Permissive (MIT License)
            copy iconCopy
            function heapify(arr, length, i) {
              let largest = i;
              let left = i * 2 + 1;
              let right = left + 1;
              if (left < length && arr[left] > arr[largest]) {
                largest = left;
              }
              if (right < length && arr[right] > arr[larg  
            Get the he penalty .
            javadot img3Lines of Code : 3dot img3License : Permissive (MIT License)
            copy iconCopy
            Integer getHealty() {
                    return healty;
                }  

            Community Discussions

            QUESTION

            Undefined reference to function although linked against library
            Asked 2020-Aug-05 at 21:08

            I am trying to build the open source project he-transformer in a Docker container. This is a tool build on top of ngraph, which is connected via ngraph-bridge with tensorflow, to enable writing deep learning programs using a graph-based abstraction. he-transformer is an extension of ngraph that allows inference over encrypted data using homomorphic encryption.

            I use the latest he-transformer commit on the master branch (6d5a5b39). The build process throws many undefined reference errors:

            ...

            ANSWER

            Answered 2020-Aug-05 at 21:08

            Kudos for this hint to the repository maintainer of he-transformer, Fabian Boemer. He noticed that the logs indicate an issue with the CXX ABI. The issue is caused by compiling ngraph with an old version of g++ (< 5.1). The log confirms this, see compiler identification is GNU 4.8.5.

            Removing the installation of gcc 4.8 from the Dockerfile so that the system's default is gcc-7 solved the issue and could successfully compile he-transformer.

            Source https://stackoverflow.com/questions/63206829

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install he-transformer

            Add and source the bin path to your ~/.bashrc file to call bazel.
            Before building, make sure you deactivate any active virtual environments (i.e. run deactivate). Note, you may need sudo permissions to install he_seal_backend to the default location. To set a custom installation prefix, add the -DCMAKE_INSTALL_PREFIX=~/my_install_prefix flag to the above cmake command. See 1a and 1b for additional configuration options. To install, run the below command (note, this may take several hours. To speed up compilation with multiple threads, call make -j install).

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/IntelAI/he-transformer.git

          • CLI

            gh repo clone IntelAI/he-transformer

          • sshUrl

            git@github.com:IntelAI/he-transformer.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link