pytorch3d perception skill environment & flake update

This commit is contained in:
Igor Brylyov 2023-09-22 12:19:19 +03:00
parent f6e24cc5f7
commit ea1921fd50
3 changed files with 133 additions and 31 deletions

54
flake.lock generated
View file

@ -4,6 +4,24 @@
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1689068808,
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
@ -18,31 +36,13 @@
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1685518550,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1690924695,
"narHash": "sha256-1yshNzds/qJztMoJk0Sa2xhKwSLaOAuepR6ABWbrgRU=",
"lastModified": 1695298503,
"narHash": "sha256-eDuN/+479v5gfVqwmJRYVX/Skh+TYSifAXdJ9xMqiP4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "7282565b1ca9ba7b293b899411e70167f4a7c1ff",
"rev": "b1370f72c01cee73c8648baf158453d60f3127e2",
"type": "github"
},
"original": {
@ -54,11 +54,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1687112859,
"narHash": "sha256-oJhMiKnJeb47gTxyyIgAJf+aWC4IbVmG3wgL3ZVJ0Eg=",
"lastModified": 1691006197,
"narHash": "sha256-DbtxVWPt+ZP5W0Usg7jAyTomIM//c3Jtfa59Ht7AV8s=",
"owner": "lopsided98",
"repo": "nixpkgs",
"rev": "f68a0d0fd7539d93c7454989f71fd1c824f3b46f",
"rev": "66aedfd010204949cb225cf749be08cb13ce1813",
"type": "github"
},
"original": {
@ -81,11 +81,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1690347395,
"narHash": "sha256-FUAvjcpVyDMZ2zCqUrpGlLtRZlF3PqW2alpyi82bMa8=",
"lastModified": 1691109346,
"narHash": "sha256-TtmW6aWNITZDpmwTZhTka7DnT1b6FdgY0sgcT8s6tRg=",
"owner": "lopsided98",
"repo": "nix-ros-overlay",
"rev": "3205dadcff4e1fbc779ce3962bafcf3e9f3e931b",
"rev": "c89eed8b34d2947c851df29c09c1cb444282b63e",
"type": "github"
},
"original": {

View file

@ -18,6 +18,21 @@
# freecad = prev.freecad.overrideAttrs
# (old: { cmakeFlags = old.cmakeFlags ++ [ "-DBUILD_GUI=OFF" ]; });
# cmakeFlag -BUILD_GUI=OFF for build without gui
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
(
python-final: python-prev: {
iopath = python-prev.iopath.overridePythonAttrs (oldAttrs: {
version = "unstable";
src = pkgs.fetchFromGitHub {
owner = "facebookresearch";
repo = "iopath";
rev = "9dcb63a46447556460fdb65c21aa6d094a7a788c";
hash = "sha256-X1LTOfbIAMy6gToNYS0JpeJpHi0jHPsEjrnCq2c9U0E=";
};
});
}
)
];
};
# overrided packages and attributes for nix-ros-overlay
@ -38,17 +53,18 @@
blender = pkgs.callPackage ./pkgs/misc/blender { };
bpy = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/bpy { };
pysdf = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/pysdf { };
pytorch3d = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/pytorch3d { };
mayo = pkgs.libsForQt5.callPackage ./pkgs/misc/mayo { };
darknet = pkgs.callPackage ./pkgs/misc/darknet { };
fstl = pkgs.libsForQt5.callPackage ./pkgs/misc/fstl { };
open3d = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/open3d { };
open3d = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/open3d { };
unified-planning = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/unified-planning { };
blenderproc = pkgs.python3Packages.callPackage ./blenderproc.nix { };
test-script = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/test-script { };
webdataset = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/webdataset { };
ansitable = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/ansitable { };
megapose6d = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/megapose6d { webdataset = webdataset; };
spatialmath = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/spatialmath { ansitable = ansitable; };
megapose6d = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/megapose6d { inherit webdataset; };
spatialmath = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/spatialmath { inherit ansitable; };
slic3r = pkgs.callPackage ./pkgs/misc/slic3r { };
in
{
@ -62,7 +78,7 @@
};
packages = {
inherit mayo blender bpy pysdf fstl darknet unified-planning slic3r megapose6d test-script;
inherit mayo blender bpy pysdf fstl unified-planning slic3r megapose6d test-script pytorch3d;
gazebo = ros.humble.gazebo;
};
@ -108,6 +124,20 @@
packages = [ mayo blender bpy pysdf fstl darknet slic3r ];
};
devShells.perception =
let
rbs-packages = p: with p; [
pytorch3d
torch
torchvision
torchaudio
detectron2
];
in
pkgs.mkShell {
packages = [ (pkgs.python3.withPackages rbs-packages) ];
};
devShells.default =
let
my-python-packages = p: with p; [

View file

@ -0,0 +1,72 @@
{ lib
, pkgs
, buildPythonPackage
, fetchFromGitHub
, torch
, fvcore
, pyopengl
, pyopengl-accelerate
, pybind11
, python3
, scikit-image
, black
, usort
, flake8
, matplotlib
, tqdm
, jupyter
, imageio
, plotly
, opencv
, iopath
, ninja
}:
buildPythonPackage rec {
pname = "pytorch3d";
version = "0.7.3";
format = "setuptools";
src = fetchFromGitHub {
owner = "facebookresearch";
repo = "pytorch3d";
rev = "v${version}";
hash = "sha256-lI3z4Z7j4zJNSXsqueBQqBe8gslmLJRjW4DM8CQ9A0A=";
};
preBuild = ''
export MAX_JOBS=$NIX_BUILD_CORES;
'';
nativeBuildInputs = with pkgs; [ which pybind11 ninja ];
propagatedBuildInputs = [
torch
fvcore
iopath
pyopengl
pyopengl-accelerate
pybind11
scikit-image
black
usort
flake8
matplotlib
tqdm
jupyter
imageio
plotly
opencv
];
pythonImportsCheck = [ "pytorch3d" ];
doCheck = false;
enableParallelBuilding = true;
meta = with lib; {
description = "PyTorch3D is FAIR's library of reusable components for deep learning with 3D data";
homepage = "https://github.com/facebookresearch/pytorch3d";
license = licenses.bsd3;
maintainers = with maintainers; [ ];
};
}