ultralytics build

This commit is contained in:
Игорь Брылёв 2025-01-21 20:40:43 +03:00
parent c876f7be7b
commit d6abd32dea
8 changed files with 200 additions and 30 deletions

38
flake.lock generated
View file

@ -20,11 +20,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1726560853,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
@ -95,27 +95,26 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1725556229,
"narHash": "sha256-7gaswQP81pDcri4naPXQuZBvqklWfGO3Os8QOl38nsg=",
"lastModified": 1737476217,
"narHash": "sha256-N8ICMzgIYhFkCPIe8P+D1ElyzlUcpU61Gl7N1De+lbo=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "4764ce988357a7f7ce0b4a562145977c5efbc712",
"rev": "1cd1cb9db83427de1a1efdb387f886fe274af01c",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"rev": "4764ce988357a7f7ce0b4a562145977c5efbc712",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1726243404,
"narHash": "sha256-sjiGsMh+1cWXb53Tecsm4skyFNag33GPbVgCdfj3n9I=",
"lastModified": 1733581040,
"narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=",
"owner": "lopsided98",
"repo": "nixpkgs",
"rev": "345c263f2f53a3710abe117f28a5cb86d0ba4059",
"rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01",
"type": "github"
},
"original": {
@ -146,18 +145,17 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1728663989,
"narHash": "sha256-UEe1F1gmSOeTdJKfaZt/OFQtqghgtTFSodSn3TnV+Zc=",
"owner": "lopsided98",
"repo": "nix-ros-overlay",
"rev": "9ddc986b4dfc9655040563ad07f53cf71e75d6a8",
"type": "github"
"lastModified": 1735117936,
"narHash": "sha256-J5WgFLgX1inf+H9b2fqbPvRpT63BQ38Hh81F2tYjEmc=",
"ref": "refs/heads/gz-transport-libsodium",
"rev": "1496b71c0d57026c3d33a74b8c5b78762e506895",
"revCount": 1111,
"type": "git",
"url": "file:///home/movefasta/Documents/nix-ros-overlay"
},
"original": {
"owner": "lopsided98",
"ref": "develop",
"repo": "nix-ros-overlay",
"type": "github"
"type": "git",
"url": "file:///home/movefasta/Documents/nix-ros-overlay"
}
},
"systems": {

View file

@ -1,9 +1,10 @@
{
description = "Robossembler Development Environments on Nix";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/4764ce988357a7f7ce0b4a562145977c5efbc712";
nixpkgs.url = "github:nixos/nixpkgs";
flake-utils.follows = "ros-overlay/flake-utils";
ros-overlay.url = "github:lopsided98/nix-ros-overlay?ref=develop";
# ros-overlay.url = "github:lopsided98/nix-ros-overlay?ref=develop";
ros-overlay.url = "/home/movefasta/Documents/nix-ros-overlay";
ros-nixpkgs.follows = "ros-overlay/nixpkgs";
gazebo-overlay = {
url = "github:movefasta/gazebo-sim-overlay";
@ -75,6 +76,7 @@
packages = [
pkgs.vcstool
ros.colcon
pkgs.scenario
(with ros.rosPackages.humble; buildEnv {
paths = [
ros-core

View file

@ -101,7 +101,13 @@ in {
};
ultralytics-thop = self.python3Packages.callPackage ./ultralytics-thop { torch = python-final.pytorchWithCuda; };
coremltools = self.python3Packages.callPackage ./coremltools { };
ultralytics = self.python3Packages.callPackage ./ultralytics { inherit (python-final) coremltools ultralytics-thop; torch = python-final.pytorchWithCuda; };
lap = self.python3Packages.callPackage ./lap { };
pybboxes = self.python3Packages.callPackage ./pybboxes { };
sahi = self.python3Packages.callPackage ./sahi { inherit (python-final) pybboxes; };
ultralytics = self.python3Packages.callPackage ./ultralytics {
inherit (python-final) coremltools lap ultralytics-thop;
torch = python-final.pytorchWithCuda;
};
unified-planning = self.python3Packages.callPackage ./unified-planning { };
bpy-wheel = self.python3Packages.callPackage ./bpy-wheel { };
pysdf = self.python3Packages.callPackage ./pysdf { };

38
pkgs/lap/default.nix Normal file
View file

@ -0,0 +1,38 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
cython,
numpy,
setuptools,
}:
buildPythonPackage rec {
pname = "lap";
version = "0.5.12";
pyproject = true;
src = fetchFromGitHub {
owner = "gatagat";
repo = "lap";
rev = "v${version}";
hash = "sha256-ktLwdeb7UWhdihOhdeYIi6Geyp7aJsVPPec22MtI9Jo=";
};
build-system = [
cython
numpy
setuptools
];
pythonImportsCheck = [
"lap"
];
meta = {
description = "Linear Assignment Problem solver (LAPJV/LAPMOD";
homepage = "https://github.com/gatagat/lap";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ ];
};
}

47
pkgs/pybboxes/default.nix Normal file
View file

@ -0,0 +1,47 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
wheel,
numpy,
pycocotools,
pyyaml,
}:
buildPythonPackage rec {
pname = "pybboxes";
version = "0.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "devrimcavusoglu";
repo = "pybboxes";
rev = version;
hash = "sha256-3JP6gLm62Atq8RJYb4AMPUcGyzyrXMG/ayqvMCNk9g8=";
};
build-system = [
setuptools
wheel
];
dependencies = [
numpy
pycocotools
pyyaml
];
doCheck = false;
pythonImportsCheck = [
"pybboxes"
];
meta = {
description = "Light weight toolkit for bounding boxes providing conversion between bounding box types and simple computations";
homepage = "https://github.com/devrimcavusoglu/pybboxes";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ];
};
}

61
pkgs/sahi/default.nix Normal file
View file

@ -0,0 +1,61 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
wheel,
click,
fire,
numpy,
opencv-python,
pillow,
pybboxes,
pyyaml,
requests,
shapely,
terminaltables,
tqdm,
}:
buildPythonPackage rec {
pname = "sahi";
version = "0.11.20";
pyproject = true;
src = fetchFromGitHub {
owner = "obss";
repo = "sahi";
rev = version;
hash = "sha256-TFphsF55El32siGdE1WJLnyVXGfaE32Nttvdcy/oqk0=";
};
build-system = [
setuptools
wheel
];
dependencies = [
click
fire
numpy
opencv-python
pillow
pybboxes
pyyaml
requests
shapely
terminaltables
tqdm
];
pythonImportsCheck = [
"sahi"
];
meta = {
description = "Framework agnostic sliced/tiled inference + interactive ui + error analysis plots";
homepage = "https://github.com/obss/sahi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ];
};
}

View file

@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "thop";
version = "2.0.9";
version = "2.0.13";
pyproject = true;
src = fetchFromGitHub {
owner = "ultralytics";
repo = "thop";
rev = "v${version}";
hash = "sha256-FzjxEk6yiG+IWwQEzsHcEAB4iVQT1QsyoGlG4I9lSwU=";
hash = "sha256-VgHRDXKRZjCE8RR+77GgTGiXeq5e1Bo4l4N72DMRc+s=";
};
build-system = [
@ -27,11 +27,12 @@ buildPythonPackage rec {
dependencies = [
numpy
setuptools
torch
];
pythonImportsCheck = [
"ultralytics_thop"
"thop"
];
meta = {

View file

@ -4,9 +4,13 @@
fetchFromGitHub,
setuptools,
wheel,
beautifulsoup4,
onnxruntime,
# sahi,
lap,
matplotlib,
numpy,
opencv4,
opencv-python,
pandas,
pillow,
psutil,
@ -48,18 +52,19 @@
tensorboard,
shapely,
streamlit,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "ultralytics";
version = "8.3.14";
version = "8.3.61";
pyproject = true;
src = fetchFromGitHub {
owner = "ultralytics";
repo = "ultralytics";
rev = "v${version}";
hash = "sha256-Hg8nUUVbwtXYXcrOkDKQ7IZSo4qqJPcXL4JGeRvsbIY=";
hash = "sha256-0BMOFjVSYDFj3vfDccMCHnM1FqHesXYMWR4yCSs4oac=";
};
build-system = [
@ -68,9 +73,10 @@ buildPythonPackage rec {
];
dependencies = [
lap
matplotlib
numpy
opencv4
opencv-python
pandas
pillow
psutil
@ -129,6 +135,17 @@ buildPythonPackage rec {
];
};
preBuild = ''
sed -i '/torchvision>=0.9.0/d' pyproject.toml
'';
nativeCheckInputs = [
beautifulsoup4
onnxruntime
shapely
# sahi
];
pythonImportsCheck = [
"ultralytics"
];