24 Sep 2022 |
| peddie joined the room. | 10:45:47 |
30 Sep 2022 |
hacobjinkle | On the topic of poetry, do you guys have any nice methods for getting an editable install using pure nix? I use a flake similar to above with poetry2nix, which works great for creating a derivation for a python package, but I then need to run poetry shell from inside a devshell (through direnv) to get editable install. Poetry shell creates a virtualenv in ~/.cache/pypoetry/virtualenvs, and the module versions installed there can sometimes differ from those in the devshell. | 00:43:25 |
hacobjinkle | poetry lock works well of course, but for packaging in nix i'd like to do most testing with the versions specified in flake.lock rather than poetry.lock, if possible. For now i do active development in poetry shell, then run tests there and again in nix | 00:45:57 |
| code node joined the room. | 01:55:14 |
| code node set a profile picture. | 02:40:36 |
| Matthew Wakefield set a profile picture. | 11:22:50 |
9 Oct 2022 |
| kunny joined the room. | 17:52:33 |
15 Oct 2022 |
| underpantsgnome changed their display name from underpantsgnome to underpantsgnome!. | 00:33:53 |
16 Oct 2022 |
| jake_gillberg joined the room. | 22:30:10 |
22 Oct 2022 |
| Alok Parlikar joined the room. | 17:10:29 |
23 Oct 2022 |
| waa joined the room. | 21:31:34 |
24 Oct 2022 |
| waa left the room. | 06:38:32 |
28 Oct 2022 |
Carl Thomé | I'm trying to get TensorFlow to work with a NVIDIA GPU on Ubuntu 22.04 LTS by a shell.nix but get caught up on missing library imports upon import tensorflow as tf .
I have the Ubuntu provided NVIDIA Display Driver installed and libnvidia-container works with GPU but I'm trying to nix:ify my life more and more without plunging into NixOS.
Does anyone have a working shell.nix for GPU-accelerated PyTorch/TensorFlow/JAX on a Debian-based distro?
| 13:33:57 |
29 Oct 2022 |
| Tseb joined the room. | 06:12:40 |
31 Oct 2022 |
| underpantsgnome changed their display name from underpantsgnome! to underpantsgnome. | 20:24:47 |
4 Nov 2022 |
hacobjinkle | In reply to@carlthome:matrix.org
I'm trying to get TensorFlow to work with a NVIDIA GPU on Ubuntu 22.04 LTS by a shell.nix but get caught up on missing library imports upon import tensorflow as tf .
I have the Ubuntu provided NVIDIA Display Driver installed and libnvidia-container works with GPU but I'm trying to nix:ify my life more and more without plunging into NixOS.
Does anyone have a working shell.nix for GPU-accelerated PyTorch/TensorFlow/JAX on a Debian-based distro?
{
description = "PyTorch code for deep learning on chest X-rays (CXR)";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-22.05";
flake-utils.url = "github:numtide/flake-utils";
};
# See https://old.reddit.com/r/Python/comments/npu66t/reproducible_python_environment_with_nix_flake/
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachSystem [ "x86_64-linux" ] (system:
let
python = "python310";
pkgs = (import nixpkgs {
inherit system;
config = {
allowUnfree = true;
cudaSupport = true;
};
overlays = [
];
});
# core pkgs are those required to run headless scripts
corePythonPkgs = ps: with ps; [
numpy
pandas
pytorchWithCuda
scikit-learn
scipy
#torchinfo # currently does not build on nix 22.05?? as of 2022-09-29
torchvision
tqdm
];
corePythonEnv = pkgs.${python}.withPackages corePythonPkgs;
jupyterPythonEnv = pkgs.${python}.withPackages (ps: with ps;
((corePythonPkgs ps) ++ [
ipympl # for %matplotlib widget
jupyterlab
matplotlib
# not strictly for jupyter but still useful for development
black
]));
in rec {
packages = {
download = pkgs.stdenv.mkDerivation {
name = "download";
propagatedBuildInputs = with pkgs; [
google-cloud-sdk
./download_mimic_cxr_jpg.sh
];
};
};
apps = rec {
default = jupyter;
jupyter = {
type = "app";
# Note that this is not a full command line; do not include
# arguments. If you would like to provide a command line, see the
# "foo" example further down in this file
program = "${jupyterPythonEnv}/bin/jupyter";
};
download = with pkgs; {
type = "app";
program = "${packages.download}/download_mimic_cxr_jpg.sh";
};
};
devShell = pkgs.mkShell { buildInputs = with pkgs; [ jupyterPythonEnv ]; };
});
} | 13:27:35 |
hacobjinkle | I run that on Ubuntu 20.04 workstation | 13:27:55 |
hacobjinkle | note that you need to use nixGL | 13:28:09 |
hacobjinkle | I don't reference nixGL in my flake.nix. Instead, I use nix run or nix develop , prefixed with nixGL | 13:28:33 |
hacobjinkle | nixgl can be built with a command like the following NIXPKGS_ALLOW_UNFREE=1 nix build --impure github:guibou/nixgl#nixGLNvidia -o nixgl | 13:30:10 |
hacobjinkle | in my case that results in a file nixgl/bin/nixGLNvidia-515.65.01 | 13:30:51 |
hacobjinkle | have to rerun the command above whenever you update your nvidia driver | 13:31:13 |
hacobjinkle | so for example. you can run nix develop then `$ nixGLNvidia python -c "import torch; print(torch.cuda.is_available())" True ` | 13:35:13 |
hacobjinkle | * so for example. you can run nix develop then `$ nixGLNvidia python -c "import torch; print(torch.cuda.is_available())" True` | 13:35:19 |
hacobjinkle | * so for example. you can run nix develop then ``` $ nixGLNvidia python -c "import torch; print(torch.cuda.is_available())" True ``` | 13:35:33 |
hacobjinkle | * so for example. you can run nix develop then \$ nixGLNvidia python -c "import torch; print(torch.cuda.is\_available())"
True | 13:35:49 |
hacobjinkle | * so for example. you can run nix develop then $ nixGLNvidia-515.65.01 python -c "import torch; print(torch.cuda.is\_available())"
True | 13:36:07 |
hacobjinkle | * so for example. you can run nix develop then $ nixGLNvidia-515.65.01 python -c "import torch; print(torch.cuda.is_available())"
True | 13:36:20 |
hacobjinkle | also note it's probably better to pin the nixpkgs version using the flake.lock only, instead of calling out a tag like I did there with nixos-22.05 . I'm still figuring this stuff out | 13:37:23 |
6 Nov 2022 |
| spott joined the room. | 18:26:21 |