A Haskell kernel for IPython.

Related tags

Deep LearningIHaskell
Overview

jupyter IHaskell Build Status Binder

IHaskell

You can now try IHaskell directly in your browser at CoCalc or mybinder.org.

Alternatively, watch a talk and demo showing off IHaskell features.

IHaskell is a kernel for the Jupyter project, which allows you to use Haskell inside Jupyter frontends (including the console and notebook). It currently supports GHC 8.0 through 9.0. For GHC 7.10 support please use the GHC7 tag.

For a tour of some IHaskell features, check out the demo Notebook. More example notebooks are available on the wiki. The wiki also has more extensive documentation of IHaskell features.

IPython Console IPython Notebook

Interactive In-Browser Notebook

Installation

Linux

Some prerequisites; adapt to your distribution.

sudo apt-get install -y python3-pip git libtinfo-dev libzmq3-dev libcairo2-dev libpango1.0-dev libmagic-dev libblas-dev liblapack-dev

Install stack, clone this repository, install Python requirements, install ihaskell, and install the Jupyter kernelspec with ihaskell.

These instructions assume you don't already have Stack or a Jupyter installation, please skip the relevant steps if this is not the case.

curl -sSL https://get.haskellstack.org/ | sh
git clone https://github.com/gibiansky/IHaskell
cd IHaskell
pip3 install -r requirements.txt
# stack install gtk2hs-buildtools # Disabled for now because gtk2hs-buildtools doesn't work with lts-13 yet
stack install --fast
ihaskell install --stack

Run Jupyter.

stack exec jupyter -- notebook

Mac

You need to have Homebrew installed. If you do not have it yet run /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" in your terminal.

You also need the Xcode command line tools. You can install them by running xcode-select --install in the terminal and following the prompts.

These instructions assume you don't already have Stack or a Jupyter installation, please skip the relevant steps if this is not the case.

brew install python3 zeromq libmagic cairo pkg-config haskell-stack pango
git clone https://github.com/gibiansky/IHaskell
cd IHaskell
pip3 install -r requirements.txt
# stack install gtk2hs-buildtools # Disabled for now because gtk2hs-buildtools doesn't work with lts-13 yet
stack install --fast
ihaskell install --stack

If you have Homebrew installed to a custom location, you'd need to specify --extra-include-dirs ${HOMEBREW_PREFIX}/include --extra-lib-dir ${HOMEBREW_PREFIX}/lib to the stack command.

Run Jupyter.

stack exec jupyter -- notebook

Tested on macOS Sierra (10.12.6)

Windows

IHaskell does not support Windows, however it can be used on Windows 10 via Windows Subsystem for Linux (WSL). If WSL is not installed, follow the Installation Guide for Windows 10. The following assumes that Ubuntu is picked as the Linux distribution.

In the Ubuntu app, follow the steps above for Linux.

Jupyter Notebook is now ready to use. In the Ubuntu app, launch a Notebook Server, without opening the notebook in a browser:

jupyter notebook --no-browser

Returning to Windows 10, open a browser and copy and paste the URL output in the step above (the token will differ).

Or copy and paste one of these URLs:
     http://localhost:8888/?token=9ca8a725ddb1fdded176d9e0e675ba557ebb5fbef6c65fdf

Tested on Windows 10 (build 18362.175) with Ubuntu 18.04 on WSL

Alternatively, install Virtualbox, install Ubuntu or another Linux distribution, and proceed with the install instructions.

Docker

To quickly run a Jupyter notebook with the IHaskell kernel, try the Dockerfile in the top directory.

docker build -t ihaskell:latest .
docker run --rm -p 8888:8888 ihaskell:latest

Or use the continuously updated Docker image on Docker Hub.

docker run --rm -p 8888:8888 gibiansky/ihaskell

In order to mount your own local files into the Docker container use following command:

docker run --rm -p 8888:8888 -v "$PWD":/home/jovyan/src gibiansky/ihaskell

Be aware that the directory you're mounting must contain a stack.yaml file. A simple version would be:

resolver: lts-16.23
packages: []

It's recommended to use the same LTS version as the IHaskell image is using itself (as can be seen in its stack.yaml). This guarantees that stack doesn't have to first perform a lengthy installation of GHC before running your notebook.

You can also use the following script to run IHaskell in Docker: https://gist.github.com/brandonchinn178/928d6137bfd17961b9584a8f96c18827

Nix

If you have the nix package manager installed, you can create an IHaskell notebook environment with one command. For example:

$ /bin/jupyter notebook">
$ nix-build -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-20.03.tar.gz release.nix --argstr compiler ghc865 --arg packages "haskellPackages: [ haskellPackages.lens ]"
<result path>
$ <result path>/bin/jupyter notebook

It might take a while the first time, but subsequent builds will be much faster. You can use the https://ihaskell.cachix.org cache for prebuilt artifacts.

The IHaskell display modules are not loaded by default and have to be specified as additional packages:

$ nix-build -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-20.03.tar.gz release.nix --argstr compiler ghc865 --arg packages "haskellPackages: [ haskellPackages.ihaskell-blaze haskellPackages.ihaskell-charts ]"

For more examples of using IHaskell with Nix, see https://github.com/vaibhavsagar/notebooks.

Troubleshooting

Where are my packages? (IHaskell + Stack)

Stack manages separate environments for every package. By default your notebooks will only have access to a few packages that happen to be required for IHaskell. To make packages available add them to the stack.yaml in the IHaskell directory and run stack install --fast.

Packages should be added to the packages: section and can take the following form (reproduced here from the stack documentation). If you've already installed a package by stack install you can simply list its name even if it's local.

- package-name
- location: .
- location: dir1/dir2
- location: https://example.com/foo/bar/baz-0.0.2.tar.gz
- location: http://github.com/yesodweb/wai/archive/2f8a8e1b771829f4a8a77c0111352ce45a14c30f.zip
- location:
    git: [email protected]:commercialhaskell/stack.git
    commit: 6a86ee32e5b869a877151f74064572225e1a0398
- location:
    hg: https://example.com/hg/repo
    commit: da39a3ee5e6b4b0d3255bfef95601890afd80709

The kernel keeps dying (IHaskell + Stack)

The default instructions globally install IHaskell with support for only one version of GHC. If you've e.g. installed an lts-10 IHaskell and are using it with an lts-9 project the mismatch between GHC 8.2 and GHC 8.0 will cause this error. Stack also has the notion of a 'global project' located at ~/.stack/global-project/ and the stack.yaml for that project should be on the same LTS as the version of IHaskell installed to avoid this issue.

Comments
  • IPython 4.0 not supported

    IPython 4.0 not supported

    Starting the kernel with IPython 4.0 gives the following error:

    ihaskell: main/Main.hs:(66,1)-(73,35): Non-exhaustive patterns in function ihaskell

    When run from IPython (4.0) notebook, the kernel is reported as dead but seems to execute cells perfectly useably.

    opened by jbcoe 43
  • IHaskell notebook and console don't redirect input to GHCi

    IHaskell notebook and console don't redirect input to GHCi

    When I run IHaskell notebook I can see tips and suggestions on functions signatures or evaluate :info command, but I can't evaluate cells. It just swallows them silently. When running IHaskell console it's even worse, it freezes in cell In [1]: and trying to kill it with Ctrl+C brings again an input prompt of the console. I am using Ubuntu 12.04. How can I figure out what's going wrong?

    opened by menchyshyn 37
  • ihaskell binary from `stack install` not independent of .stack root, not destroot'd

    ihaskell binary from `stack install` not independent of .stack root, not destroot'd

    I'm trying to create a MacPorts build of IHaskell here: https://github.com/macports/macports-ports/pull/4706

    The ihaskell binary produced by stack install does not appear to be independent of the .stack directory, as I believe it should be.

    When I launch jupyter notebook and initiate a Haskell kernel, stack jumps in and starts downloading ghc, and the kernel fails.

    Is it possible to produce a binary independent of the .stack directory?

    The build is produced with:

    stack install --system-ghc …
    

    and the file /opt/local/share/jupyter/kernels/haskell/kernel.json says:

    {"display_name":"Haskell","argv":["/opt/local/bin/ihaskell","kernel","{connection_file}","--ghclib","/opt/local/lib/ghc-8.6.5","+RTS","-M3g","-N2","-RTS","--stack"],"language":"haskell"}
    

    The broader reason for this is that all MacPorts installs are done through a destroot, and destrooting a common .stack for many independent stack projects won't work.

    The strategy that works for other stack projects is to build the binary with a temporary .stack, then throw it away after the working binary is created.

    This strategy isn't working with IHaskell for the reasons above.

    opened by essandess 34
  • Recent Stack LTS versions don't seem to work

    Recent Stack LTS versions don't seem to work

    I installed ihaskell completely from scratch using stack LTS 5.2 on two different machines running debian x86_64:

    stack install --no-system-ghc ihaskell && stack exec --no-system-ghc ihaskell -- install --stack && stack exec --no-system-ghc jupyter -- notebook --debug --no-browser --ip=<IP address>
    

    I encountered the same error in both cases:

    ihaskell: /home/peddie/.stack/snapshots/x86_64-linux/lts-5.2/7.10.3/lib/x86_64-linux-ghc-7.10.3/cryptonite-0.10-9z0j8QI27Av2VIWw0mEkTO/libHScryptonite-0.10-9z0j8QI27Av2VIWw0mEkTO.a: unhandled ELF relocation(RelA) type 42
    
    ihaskell: ihaskell: unable to load package `cryptonite-0.10'
    [I 22:50:20.392 NotebookApp] KernelRestarter: restarting kernel (1/5)
    

    stack exec --no-system-ghc ghc-pkg -- list has no trouble locating cryptonite. stack exec --no-system-ghc ghci has no trouble loading and running functions from Crypto.Random.EntropyPool (to choose a random example).

    My kernel.json file:

    [email protected]:~$ cat /home/peddie/.local/share/jupyter/kernels/haskell/kernel.json
    {"display_name":"Haskell","argv":["/home/peddie/.stack/snapshots/x86_64-linux/lts-5.2/7.10.3/bin/ihaskell","kernel","{connection_file}","--ghclib","/home/peddie/.stack/programs/x86_64-linux/ghc-7.10.3/lib/ghc-7.10.3/","--stack"],"language":"haskell"}
    

    This file was created with /opt/ghc/7.10.3/lib/ghc-7.10.3/ in the --ghclib field of kernel.json, but the error did not go away when I manually replaced it with the path to stack's libs.

    EDIT: I forgot a critical piece of information: this issue does not occur when building with stackage LTS 5.1, which also uses cryptonite-0.10.

    opened by peddie 33
  • IHasell not finding some packages

    IHasell not finding some packages

    I recently switched from using Haskell Plarform to using Homebrew for managing my Haskell installation. This change was without issues for GHCi but IHaskell is now unable to find many packages. For example if I

    import Data.List.Split 
    

    I get

    Failed to load interface for ‘Data.List.Split’

    even though the same import statement works fine in GHCi.

    Is there something I can do to fix this? What would be causing IHaskell to be looking in the wrong location for installed packages?


    FWIW, this occurred following an upgrade from OS X 10.10 to 10.11.

    opened by orome 32
  • cabal cannot find libzmq

    cabal cannot find libzmq

    when running cabal install ihaskell I get the following error regardless of which zeromq installation procedure I use (homebrew and github):

    Resolving dependencies...
    Configuring zeromq4-haskell-0.6.1...
    cabal: The pkg-config package libzmq version >=4.0 && <5.0 is required but it
    could not be found.
    Failed to install zeromq4-haskell-0.6.1
    cabal: Error: some packages failed to install:
    ihaskell-0.4.2.0 depends on zeromq4-haskell-0.6.1 which failed to install.
    zeromq4-haskell-0.6.1 failed during the configure step. The exception was:
    ExitFailure 1
    

    The path to my libzmq folder is in ~/.cabal/bin/libzmq.

    opened by jigrinc 31
  • Support libraries don't seem to be working on newest version

    Support libraries don't seem to be working on newest version

    I may just be doing this wrong, but when a code cell evaluates to something that should be displayed nicely (like a JuicyPixels Image), it just says

    Unshowable:Image Pixel8
    No instance for (Show (Image Pixel8)) arising from a use of ‘print’
    In a stmt of an interactive GHCi command: print it
    

    I already did cabal install ihaskell-juicypixels.

    opened by wyager 28
  • Install not working on os x due to happy

    Install not working on os x due to happy

    I installed haskell platform through homebrew I ran:

    pip3 install jupiter
    git clone http://www.github.com/gibiansky/IHaskell
    cd IHaskell
    ./macos-install.sh
    

    Jupiter works but IHaskell errors

    Downloading the latest package list from hackage.haskell.org
    Skipping download: Local and remote files match.
    Resolving dependencies...
    Downloading alex-3.1.7...
    Downloading happy-1.19.5...
    Configuring alex-3.1.7...
    Configuring happy-1.19.5...
    Building happy-1.19.5...
    Building alex-3.1.7...
    Failed to install happy-1.19.5
    Build log ( /Users/<User>/.cabal/logs/happy-1.19.5.log ):
    [1 of 1] Compiling Main             ( /var/folders/_m/1h8dd_fd3dx3qvtq87_c4q480000gn/T/cabal-tmp-85242/happy-1.19.5/dist/setup/setup.hs, /var/folders/_m/1h8dd_fd3dx3qvtq87_c4q480000gn/T/cabal-tmp-85242/happy-1.19.5/dist/setup/Main.o )
    Linking /var/folders/_m/1h8dd_fd3dx3qvtq87_c4q480000gn/T/cabal-tmp-85242/happy-1.19.5/dist/setup/setup ...
    Configuring happy-1.19.5...
    Building happy-1.19.5...
    Preprocessing executable 'happy' for happy-1.19.5...
    <command line>: cannot satisfy -package-id mtl-2.2.1-b6b36d751642fde56f037818eb788105
        (use -v for more information)
    Failed to install alex-3.1.7
    Build log ( /Users/<User>/.cabal/logs/alex-3.1.7.log ):
    [1 of 1] Compiling Main             ( /var/folders/_m/1h8dd_fd3dx3qvtq87_c4q480000gn/T/cabal-tmp-85241/alex-3.1.7/dist/setup/setup.hs, /var/folders/_m/1h8dd_fd3dx3qvtq87_c4q480000gn/T/cabal-tmp-85241/alex-3.1.7/dist/setup/Main.o )
    Linking /var/folders/_m/1h8dd_fd3dx3qvtq87_c4q480000gn/T/cabal-tmp-85241/alex-3.1.7/dist/setup/setup ...
    Configuring alex-3.1.7...
    Building alex-3.1.7...
    Preprocessing executable 'alex' for alex-3.1.7...
    <command line>: cannot satisfy -package-id QuickCheck-2.8.1-8f3828a4d4d9dac78c5d3db525b2f0fe
        (use -v for more information)
    cabal: Error: some packages failed to install:
    alex-3.1.7 failed during the building phase. The exception was:
    ExitFailure 1
    happy-1.19.5 failed during the building phase. The exception was:
    ExitFailure 1
    
    opened by michaelmesser 25
  • Rewrite Docker image

    Rewrite Docker image

    Reimplements Dockerfile with the following changes:

    • Uses the haskell Docker image as a base image, so we don't have to worry about installing Stack
    • Uses multistage builds, to avoid bulking the final image with compile-time artifacts.
      • Currently, the gibiansky/ihaskell:202108170429266e69c2 image is 6.26 GB on my computer, after a docker pull
      • This PR builds a docker image that's 1.93 GB. Note: the haskell:8.10.4 base image we're using is 1.52 GB, so this PR builds a docker image that only adds 400 MB to the base image!
      • This should greatly improve download times
    • Writes ~/.stack/global-project/stack.yaml to have the same resolver as the in-repo stack.yaml file (resolves https://github.com/gibiansky/IHaskell/issues/1251#issuecomment-899985184)
    • Adds a --env-file flag, to fix using stack from the haskell base image (the stack exec env command called here was reinstalling GHC; didn't seem to be an easy way to tell it to use --system-ghc)

    TODO:

    • [ ] Fix syntax highlighting
      • Syntax highlighting is no longer working. I'm looking at the old version of the Dockerfile, and I'm not sure how it does syntax highlighting, since it's not COPYing the jupyterlab-ihaskell directory. @vaibhavsagar @gibiansky @gregwebs do you know how the current Docker image gets syntax highlighting? (Possibly related: https://github.com/gibiansky/IHaskell/issues/1199)
    opened by brandon-leapyear 23
  • src/IHaskell/Eval/Evaluate.hs:404:16:

    src/IHaskell/Eval/Evaluate.hs:404:16:

    (ihaskell-venv) [[email protected] zeromq-4.0.5]# PKG_CONFIG_PATH=/e2e/lib/zeromq4/lib/pkgconfig:/e2e/lib/zeromq4/lib/pkgconfig:/usr/share/licenses/pkgconfig:/usr/share/pkgconfig:/usr/share/doc/pkgconfig cabal install ihaskell --extra-lib-dirs=/e2e/lib/zeromq4/lib --extra-include-dirs=/e2e/lib/zeromq4/include

    ...

    Loading package MissingH-1.3.0.1 ... linking ... done. [16 of 18] Compiling IHaskell.Eval.Evaluate ( src/IHaskell/Eval/Evaluate.hs, dist/build/IHaskell/Eval/Evaluate.o )

    src/IHaskell/Eval/Evaluate.hs:404:16: Couldn't match type FilePath' with[Char]' Expected type: GHC.IO.FilePath Actual type: FilePath In the first argument of writeFile', namely(fpFromString $ directory ++ filename)' In a stmt of a 'do' block: writeFile (fpFromString $ directory ++ filename) contents In the second argument of ($)', namelydo { createDirectoryIfMissing True directory; writeFile (fpFromString $ directory ++ filename) contents }'

    src/IHaskell/Eval/Evaluate.hs:566:40: Couldn't match type FilePath' with[Char]' Expected type: GHC.IO.FilePath Actual type: FilePath In the return type of a call of fpFromString' In the second argument of($)', namely `fpFromString filename' In a stmt of a 'do' block: contents <- readFile $ fpFromString filename Failed to install ihaskell-0.6.0.0 cabal: Error: some packages failed to install: ihaskell-0.6.0.0 failed during the building phase. The exception was: ExitFailure 1

    opened by marmalodak 22
  • Package IHaskell [$25 awarded]

    Package IHaskell [$25 awarded]

    This is a while out, but it might be nice to package IHaskell nicely for end-users that aren't as experienced with Haskell.

    Other ideas:

    • Make a Docker build (https://github.com/gibiansky/IHaskell/issues/136) so that it is easy to install on any Linux distribution
    • Package as Mac app (that can hang around in the task bar and have it's own window instead of using a browser, by having our own webview or something.)
    • Package for windows like Sage does (see here)
    • Package for package managers?
      • Homebrew?
      • Debian's apt-get?

    Not sure which of these are worthwhile, but might be a good effort to get IHaskell and Haskell out to a wider audience.

    The $25 bounty on this issue has been claimed at Bountysource.

    bounty 
    opened by gibiansky 22
  • Add -dynamic back in; removal broke IHaskell

    Add -dynamic back in; removal broke IHaskell

    This commit removed -dynamic as a default flag https://github.com/IHaskell/IHaskell/commit/2891bc8498ce12ae2677d72c7252e2623158e378

    The results of this change break IHaskell in two ways. First, it now links every package available statically on startup. This is fine for small projects. In a large project though, with 200 packages, I gave up after 15 minutes. Second, many of us use IHaskell with packages that rely on shared libraries. This stopped working entirely.

    There's a related long discussion here https://github.com/IHaskell/IHaskell/pull/1252/files#diff-30f4411ae6041ebe629c055ae5c4407e47989f719a5733416bfa23454270ba65R130

    The suggested solution is that users should add dynamic in this case. But there is simply no way for users to figure this out.

    I had to run strace and notice among its 100Mb of output that ihaskell is stuck loading one object file after another and look at gdb to confirm that it's stuck in the linker pinning the CPU to 100%. No one is going to do this and then realize that -dynamic is needed in IHaskell.

    But it's even worse for a small project. You will inexplicably get errors about shared libraries. And they'll be lazy! So most of the code works, until you trip over some code that uses the shared library and then you get an incredibly cryptic error about symbols missing. Users have absolutely no way of tracking this back to IHaskell, never mind realizing that they need to add -dynamic.

    This was done to make building docker images simpler. https://github.com/IHaskell/IHaskell/pull/1252

    All of this is a horrible cost to pay for some convenience when building docker images. It breaks the common case for a slightly more convenient corner case. The downside of this pull request is it breaks building the Docker images, would you mind fixing that @brandon-leapyear? You seemed to have a version that copies over the right files.

    I suggest we add -dynamic back in. @junjihashimoto suggested the same in the discussion above.

    opened by abarbu 4
  • Submit all packages to Stackage

    Submit all packages to Stackage

    I wonder is there any specific reason all those ihaskell-* packages are not submitted to Stackage?

    In my workflow, I build and install a version of IHaskell locally, and also have multiple projects which need IHaskell. Each project has different dependencies, but they all have to be careful to use exactly the same versions for ihaskell-* packages (by including a rather long section in stack.yaml). It's difficult to maintain, and when I want IHaskell on a new machine, I also have to be careful to build and install the exact same version all my projects use. If all these packages' versions are locked in a Stackage snapshot, it will be far easier to simply use the same Stackage LTS version for all my projects.

    opened by SmartHypercube 0
  • "ihaskell: command not found" terminal response in Ubuntu

    When starting "ihaskell install --stack", the terminal gives an error "ihaskell: command not found". Please tell me how it can be fixed?

    opened by WalterVenin 2
  • ‘relayWidgetMessages’ not in scope error after starting kernel

    ‘relayWidgetMessages’ not in scope error after starting kernel

    I got the following error when I started a kernel

    [I 00:16:53.865 NotebookApp] Creating new notebook in
    [I 00:16:54.596 NotebookApp] Kernel started: 8818e04f-cf57-49f7-848b-23868661e6d8, name: haskell
    [W 00:16:54.688 NotebookApp] 404 GET /static/components/codemirror/mode/ihaskell/ihaskell.js (127.0.0.1) 4.710000ms referer=http://localhost:8888/notebooks/Untitled.ipynb?kernel_name=haskell
    [I 00:16:54.801 NotebookApp] Adapting from protocol version 5.0 (kernel 8818e04f-cf57-49f7-848b-23868661e6d8) to 5.3 (client).
    ihaskell: Not in scope: ‘IHaskell.Eval.Widgets.relayWidgetMessages’
    No module named ‘IHaskell.Eval.Widgets’ is imported.
    
    [I 00:16:57.587 NotebookApp] KernelRestarter: restarting kernel (1/5), new random ports
    WARNING:root:kernel 8818e04f-cf57-49f7-848b-23868661e6d8 restarted
    [I 00:17:04.631 NotebookApp] Saving file at /Untitled.ipynb
    

    but after it automatically restarted, the error disappeared and the kernel ran without problems any more. so basically I still can use ihaskell, just the error is weird and a bit annoying. anyway it would be very nice if you could have a look.

    versions:

    • ihaskell: master branch
    • ghcup: v0.1.18.0
    • stack: 2.9.1
    • python: 3.11.0
    • system: wsl ubuntu jammy and I installed ihaskell following the readme
    opened by FelisNivalis 0
  • flake output display package parameters

    flake output display package parameters

    https://github.com/IHaskell/IHaskell/blob/7d0b9b070aa821db1a4d38826e146fd2c41d1c0b/flake.nix#L95-L111

    I would like the Nix Flake to provide a parameterized derivation for a Jupyter environment, where the parameter is a list of the display packages that should be installed.

    It seems like there is not yet a first-class way to do that in Nix, but the discussion is ongoing here. https://github.com/NixOS/nix/issues/4744

    opened by jamesdbrock 0
Releases(0.6)
Owner
Andrew Gibiansky
Andrew Gibiansky
Utility tools for the "Divide and Remaster" dataset, introduced as part of the Cocktail Fork problem paper

Divide and Remaster Utility Tools Utility tools for the "Divide and Remaster" dataset, introduced as part of the Cocktail Fork problem paper The DnR d

Darius Petermann 46 Dec 11, 2022
Emulation and Feedback Fuzzing of Firmware with Memory Sanitization

BaseSAFE This repository contains the BaseSAFE Rust APIs, introduced by "BaseSAFE: Baseband SAnitized Fuzzing through Emulation". The example/ directo

Security in Telecommunications 138 Dec 16, 2022
Bayesian Optimization Library for Medical Image Segmentation.

bayesmedaug: Bayesian Optimization Library for Medical Image Segmentation. bayesmedaug optimizes your data augmentation hyperparameters for medical im

Şafak Bilici 7 Feb 10, 2022
StocksMA is a package to facilitate access to financial and economic data of Moroccan stocks.

Creating easier access to the Moroccan stock market data What is StocksMA ? StocksMA is a package to facilitate access to financial and economic data

Salah Eddine LABIAD 28 Jan 04, 2023
StyleGAN2-ADA-training-jupyter - Training custom datasets in styleGAN2-ADA by NVIDIA using Jupyter

styleGAN2-ADA-training-jupyter Training custom datasets in styleGAN2-ADA on Jupyter Official StyleGAN2-ADA by NIVIDIA Paper Training Generative Advers

Mang Su Hyun 2 Feb 24, 2022
This is a Pytorch implementation of paper: DropEdge: Towards Deep Graph Convolutional Networks on Node Classification

DropEdge: Towards Deep Graph Convolutional Networks on Node Classification This is a Pytorch implementation of paper: DropEdge: Towards Deep Graph Con

401 Dec 16, 2022
A generalist algorithm for cell and nucleus segmentation.

Cellpose | A generalist algorithm for cell and nucleus segmentation. Cellpose was written by Carsen Stringer and Marius Pachitariu. To learn about Cel

MouseLand 733 Dec 29, 2022
NEG loss implemented in pytorch

Pytorch Negative Sampling Loss Negative Sampling Loss implemented in PyTorch. Usage neg_loss = NEG_loss(num_classes, embedding_size) optimizer =

Daniil Gavrilov 123 Sep 13, 2022
Towards Understanding Quality Challenges of the Federated Learning: A First Look from the Lens of Robustness

FL Analysis This repository contains the code and results for the paper "Towards Understanding Quality Challenges of the Federated Learning: A First L

3 Oct 17, 2022
Paddle implementation for "Highly Efficient Knowledge Graph Embedding Learning with Closed-Form Orthogonal Procrustes Analysis" (NAACL 2021)

ProcrustEs-KGE Paddle implementation for Highly Efficient Knowledge Graph Embedding Learning with Orthogonal Procrustes Analysis 🙈 A more detailed re

Lincedo Lab 4 Jun 09, 2021
AI virtual gym is an AI program which can be used to exercise and can be used to see if we are doing the exercises

AI virtual gym is an AI program which can be used to exercise and can be used to see if we are doing the exercises

4 Feb 13, 2022
[CVPR'21] Learning to Recommend Frame for Interactive Video Object Segmentation in the Wild

IVOS-W Paper Learning to Recommend Frame for Interactive Video Object Segmentation in the Wild Zhaoyun Yin, Jia Zheng, Weixin Luo, Shenhan Qian, Hanli

SVIP Lab 38 Dec 12, 2022
Using NumPy to solve the equations of fluid mechanics together with Finite Differences, explicit time stepping and Chorin's Projection methods

Computational Fluid Dynamics in Python Using NumPy to solve the equations of fluid mechanics 🌊 🌊 🌊 together with Finite Differences, explicit time

Felix Köhler 4 Nov 12, 2022
This repository implements variational graph auto encoder by Thomas Kipf.

Variational Graph Auto-encoder in Pytorch This repository implements variational graph auto-encoder by Thomas Kipf. For details of the model, refer to

DaehanKim 215 Jan 02, 2023
Multi-Objective Reinforced Active Learning

Multi-Objective Reinforced Active Learning Dependencies wandb tqdm pytorch = 1.7.0 numpy = 1.20.0 scipy = 1.1.0 pycolab == 1.2 Weights and Biases O

Markus Peschl 6 Nov 19, 2022
The official repository for BaMBNet

BaMBNet-Pytorch Paper

Junjun Jiang 18 Dec 04, 2022
Gin provides a lightweight configuration framework for Python

Gin Config Authors: Dan Holtmann-Rice, Sergio Guadarrama, Nathan Silberman Contributors: Oscar Ramirez, Marek Fiser Gin provides a lightweight configu

Google 1.7k Jan 03, 2023
Lightweight Face Image Quality Assessment

LightQNet This is a demo code of training and testing [LightQNet] using Tensorflow. Uncertainty Losses: IDQ loss PCNet loss Uncertainty Networks: Mobi

Kaen 5 Nov 18, 2022
Simple SN-GAN to generate CryptoPunks

CryptoPunks GAN Simple SN-GAN to generate CryptoPunks. Neural network architecture and training code has been modified from the PyTorch DCGAN example.

Teddy Koker 66 Dec 15, 2022
Python implementation of Project Fluent

Project Fluent This is a collection of Python packages to use the Fluent localization system. python-fluent consists of these packages: fluent.syntax

Project Fluent 155 Dec 28, 2022