geoai-py 0.23.0__tar.gz → 0.24.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {geoai_py-0.23.0 → geoai_py-0.24.0}/PKG-INFO +1 -1
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/__init__.py +1 -1
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai_py.egg-info/PKG-INFO +1 -1
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai_py.egg-info/SOURCES.txt +1 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/mkdocs.yml +1 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/pyproject.toml +2 -2
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/README.md +129 -180
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/dialogs/samgeo.py +163 -5
- geoai_py-0.24.0/qgis_plugin/package_plugin.py +296 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/.dockerignore +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/.editorconfig +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/.gitignore +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/.pre-commit-config.yaml +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/CITATION.cff +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/Dockerfile +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/LICENSE +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/MANIFEST.in +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/README.md +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/agents/__init__.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/agents/catalog_models.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/agents/catalog_tools.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/agents/geo_agents.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/agents/map_tools.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/agents/stac_models.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/agents/stac_tools.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/auto.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/change_detection.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/classify.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/detectron2.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/dinov3.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/download.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/extract.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/geoai.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/hf.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/landcover_train.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/landcover_utils.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/map_widgets.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/moondream.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/sam.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/segment.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/segmentation.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/timm_segment.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/timm_train.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/tools/__init__.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/tools/cloudmask.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/tools/multiclean.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/tools/sr.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/train.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai/utils.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai_py.egg-info/dependency_links.txt +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai_py.egg-info/entry_points.txt +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai_py.egg-info/requires.txt +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/geoai_py.egg-info/top_level.txt +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/pytest.ini +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/LICENSE +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/__init__.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/_geoai_lib.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/dialogs/__init__.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/dialogs/map_tools.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/dialogs/moondream.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/dialogs/segmentation.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/dialogs/update_checker.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/geoai_plugin.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/icons/about.svg +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/icons/gpu.svg +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/icons/icon.png +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/icons/moondream.svg +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/icons/samgeo.png +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/icons/segment.svg +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/geoai_plugin/metadata.txt +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/install.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/qgis_plugin/install.sh +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/requirements.txt +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/requirements_docs.txt +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/setup.cfg +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/tests/__init__.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/tests/create_test_data.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/tests/test_classify.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/tests/test_download.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/tests/test_extract.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/tests/test_fixtures.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/tests/test_geoai.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/tests/test_segment.py +0 -0
- {geoai_py-0.23.0 → geoai_py-0.24.0}/tests/test_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "geoai-py"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.24.0"
|
|
4
4
|
dynamic = [
|
|
5
5
|
"dependencies",
|
|
6
6
|
]
|
|
@@ -45,7 +45,7 @@ universal = true
|
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
[tool.bumpversion]
|
|
48
|
-
current_version = "0.
|
|
48
|
+
current_version = "0.24.0"
|
|
49
49
|
commit = true
|
|
50
50
|
tag = true
|
|
51
51
|
|
|
@@ -4,21 +4,32 @@ A QGIS plugin that brings the [geoai](https://github.com/opengeos/geoai) models
|
|
|
4
4
|
|
|
5
5
|
## Quick Start
|
|
6
6
|
|
|
7
|
-
- Create a
|
|
8
|
-
- Install the plugin
|
|
9
|
-
-
|
|
7
|
+
- Create a Pixi project and install the dependencies.
|
|
8
|
+
- Install the QGIS plugin from the QGIS Plugin Manager.
|
|
9
|
+
- Enable the GeoAI plugin in QGIS.
|
|
10
|
+
- Restart QGIS.
|
|
10
11
|
- Open a GeoAI toolbar panel and try the sample datasets below.
|
|
11
12
|
|
|
12
13
|
## Video Tutorials
|
|
13
14
|
|
|
15
|
+
### Installation Tutorial
|
|
16
|
+
|
|
17
|
+
You can follow this [video tutorial](https://youtu.be/TJmZQXJK-IU) to install the GeoAI QGIS Plugin on Linux/Windows:
|
|
18
|
+
|
|
19
|
+
[](https://youtu.be/TJmZQXJK-IU)
|
|
20
|
+
|
|
21
|
+
### Usage Tutorial
|
|
22
|
+
|
|
14
23
|
Check out this [short video demo](https://youtu.be/Esr_e6_P1is) and [full video tutorial](https://youtu.be/8-OhlqeoyiY) on how to use the GeoAI plugin in QGIS.
|
|
15
24
|
|
|
16
25
|
[](https://youtu.be/8-OhlqeoyiY)
|
|
17
26
|
|
|
27
|
+
|
|
28
|
+
|
|
18
29
|
## Requirements
|
|
19
30
|
|
|
20
31
|
- QGIS 3.28 or later
|
|
21
|
-
- Python 3.10+ (
|
|
32
|
+
- Python 3.10+ (Pixi recommended)
|
|
22
33
|
- PyTorch (CUDA if you want GPU acceleration)
|
|
23
34
|
- `geoai` and `samgeo` packages
|
|
24
35
|
|
|
@@ -53,251 +64,190 @@ Each tool lives inside a dockable panel that can be attached to either side of t
|
|
|
53
64
|
|
|
54
65
|
## Installation
|
|
55
66
|
|
|
56
|
-
### 1
|
|
57
|
-
|
|
58
|
-
#### Installation on Linux/macOS
|
|
67
|
+
### 1. Set up the environment
|
|
59
68
|
|
|
60
|
-
|
|
69
|
+
Installing the GeoAI QGIS plugin on can be challenging due to the complicated pytorch/cuda dependencies. Conda or mamba might take a while to resolve the dependencies, while pip might fail to install the dependencies properly. It is recommended to use [pixi](https://pixi.prefix.dev/latest) to install the dependencies to avoid these issues.
|
|
61
70
|
|
|
62
|
-
|
|
63
|
-
conda create -n geo python=3.12
|
|
64
|
-
conda activate geo
|
|
65
|
-
```
|
|
71
|
+
#### 1) Install Pixi
|
|
66
72
|
|
|
67
|
-
|
|
73
|
+
#### Linux/macOS (bash/zsh)
|
|
68
74
|
|
|
69
75
|
```bash
|
|
70
|
-
|
|
71
|
-
python -c "import rasterio; print('rasterio import successful')"
|
|
76
|
+
curl -fsSL https://pixi.sh/install.sh | sh
|
|
72
77
|
```
|
|
73
78
|
|
|
74
|
-
|
|
79
|
+
Close and re-open your terminal (or reload your shell) so `pixi` is on your `PATH`. Then confirm:
|
|
75
80
|
|
|
76
81
|
```bash
|
|
77
|
-
|
|
78
|
-
python -c "import geoai; print('geoai import successful')"
|
|
82
|
+
pixi --version
|
|
79
83
|
```
|
|
80
84
|
|
|
81
|
-
|
|
85
|
+
#### Windows (PowerShell)
|
|
82
86
|
|
|
83
|
-
|
|
84
|
-
conda install -c conda-forge qgis
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Install SamGeo extras (PyPI is required for some parts):
|
|
87
|
+
Open **PowerShell** (preferably as a normal user, Admin not required), then run:
|
|
88
88
|
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
python -c "import samgeo; print('samgeo import successful')"
|
|
89
|
+
```powershell
|
|
90
|
+
powershell -ExecutionPolicy Bypass -c "irm -useb https://pixi.sh/install.ps1 | iex"
|
|
92
91
|
```
|
|
93
92
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
Windows installation requires some additional steps compared to Linux/macOS. Choose the appropriate section based on whether you have an NVIDIA GPU or want CPU-only installation.
|
|
97
|
-
|
|
98
|
-
**Prerequisites (Required for all Windows users):**
|
|
99
|
-
|
|
100
|
-
1. Install [Miniconda](https://docs.conda.io/en/latest/miniconda.html) or [Anaconda](https://www.anaconda.com/download) if you haven't already.
|
|
101
|
-
2. Open **Anaconda Prompt** (not PowerShell or CMD) for all installation commands.
|
|
102
|
-
3. For GPU users: Ensure you have the latest [NVIDIA GPU drivers](https://www.nvidia.com/Download/index.aspx) installed.
|
|
103
|
-
|
|
104
|
-
##### Option A: Windows with NVIDIA GPU (CUDA)
|
|
105
|
-
|
|
106
|
-
This option provides the best performance using your NVIDIA GPU for model inference and training.
|
|
93
|
+
Close and re-open PowerShell, then confirm:
|
|
107
94
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
conda create -n geo python=3.12 -y
|
|
112
|
-
conda activate geo
|
|
95
|
+
```powershell
|
|
96
|
+
pixi --version
|
|
113
97
|
```
|
|
114
98
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
First, check your NVIDIA driver version to determine the compatible CUDA version:
|
|
99
|
+
---
|
|
118
100
|
|
|
119
|
-
|
|
120
|
-
nvidia-smi
|
|
121
|
-
```
|
|
101
|
+
#### 2) Create a Pixi project
|
|
122
102
|
|
|
123
|
-
|
|
103
|
+
Navigate to a directory where you want to create the project and run:
|
|
124
104
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
conda install pytorch torchvision pytorch-cuda=12.4 -c pytorch -c nvidia -y
|
|
105
|
+
```powershell
|
|
106
|
+
pixi init geo
|
|
107
|
+
cd geo
|
|
129
108
|
```
|
|
130
109
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
conda install pytorch torchvision pytorch-cuda=12.1 -c pytorch -c nvidia -y
|
|
135
|
-
```
|
|
110
|
+
---
|
|
136
111
|
|
|
137
|
-
|
|
112
|
+
#### 3) Configure `pixi.toml`
|
|
138
113
|
|
|
139
|
-
|
|
140
|
-
python -c "import torch; print(f'PyTorch: {torch.__version__}'); print(f'CUDA available: {torch.cuda.is_available()}'); print(f'GPU: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else \"None\"}')"
|
|
141
|
-
```
|
|
114
|
+
Open `pixi.toml` in the `geo` directory and replace its contents with the following depending on your system.
|
|
142
115
|
|
|
143
|
-
|
|
116
|
+
If you have a NVIDIA GPU with CUDA, run `nvidia-smi` to check the CUDA version.
|
|
144
117
|
|
|
145
|
-
|
|
118
|
+
- For GPU with CUDA 12.x:
|
|
146
119
|
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
|
|
120
|
+
```toml
|
|
121
|
+
[workspace]
|
|
122
|
+
channels = ["https://prefix.dev/conda-forge"]
|
|
123
|
+
name = "geo"
|
|
124
|
+
platforms = ["linux-64", "win-64"]
|
|
150
125
|
|
|
151
|
-
|
|
126
|
+
[system-requirements]
|
|
127
|
+
cuda = "12.0"
|
|
152
128
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
129
|
+
[dependencies]
|
|
130
|
+
python = "3.12.*"
|
|
131
|
+
pytorch-gpu = ">=2.9.1,<3"
|
|
132
|
+
qgis = ">=3.44.5"
|
|
133
|
+
geoai = ">=0.23.0"
|
|
134
|
+
segment-geospatial = ">=0.10.8"
|
|
135
|
+
sam3 = ">=0.1.0.20251211"
|
|
136
|
+
libopenblas = ">=0.3.30"
|
|
156
137
|
```
|
|
157
138
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
139
|
+
- For GPU with CUDA 13.x:
|
|
140
|
+
|
|
141
|
+
```toml
|
|
142
|
+
[workspace]
|
|
143
|
+
channels = ["https://prefix.dev/conda-forge"]
|
|
144
|
+
name = "geo"
|
|
145
|
+
platforms = ["linux-64", "win-64"]
|
|
146
|
+
|
|
147
|
+
[system-requirements]
|
|
148
|
+
cuda = "13.0"
|
|
149
|
+
|
|
150
|
+
[dependencies]
|
|
151
|
+
python = "3.12.*"
|
|
152
|
+
pytorch-gpu = ">=2.9.1,<3"
|
|
153
|
+
qgis = ">=3.44.5"
|
|
154
|
+
geoai = ">=0.23.0"
|
|
155
|
+
segment-geospatial = ">=0.10.8"
|
|
156
|
+
sam3 = ">=0.1.0.20251211"
|
|
157
|
+
libopenblas = ">=0.3.30"
|
|
165
158
|
```
|
|
166
159
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
160
|
+
- For CPU:
|
|
161
|
+
|
|
162
|
+
```toml
|
|
163
|
+
[workspace]
|
|
164
|
+
channels = ["https://prefix.dev/conda-forge"]
|
|
165
|
+
name = "geo"
|
|
166
|
+
platforms = ["linux-64", "win-64"]
|
|
167
|
+
|
|
168
|
+
[dependencies]
|
|
169
|
+
python = "3.12.*"
|
|
170
|
+
pytorch-cpu = ">=2.9.1,<3"
|
|
171
|
+
qgis = ">=3.44.5"
|
|
172
|
+
geoai = ">=0.23.0"
|
|
173
|
+
segment-geospatial = ">=0.10.8"
|
|
174
|
+
sam3 = ">=0.1.0.20251211"
|
|
175
|
+
libopenblas = ">=0.3.30"
|
|
176
176
|
```
|
|
177
177
|
|
|
178
|
-
|
|
178
|
+
---
|
|
179
179
|
|
|
180
|
-
|
|
181
|
-
conda install pytorch torchvision cpuonly -c pytorch -y
|
|
182
|
-
```
|
|
180
|
+
#### 4) Install the environment
|
|
183
181
|
|
|
184
|
-
|
|
182
|
+
From the `geo` folder:
|
|
185
183
|
|
|
186
|
-
```
|
|
187
|
-
|
|
184
|
+
```powershell
|
|
185
|
+
pixi install
|
|
188
186
|
```
|
|
189
187
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
```bash
|
|
193
|
-
conda install -c conda-forge qgis -y
|
|
194
|
-
```
|
|
188
|
+
This step may take several minutes on first install depending on your internet connection and system.
|
|
195
189
|
|
|
196
|
-
|
|
190
|
+
---
|
|
197
191
|
|
|
198
|
-
|
|
199
|
-
conda install -c conda-forge geoai -y
|
|
200
|
-
python -c "import geoai; print('geoai import successful')"
|
|
201
|
-
```
|
|
192
|
+
#### 5) Upgrade `segment-geospatial` via pip
|
|
202
193
|
|
|
203
|
-
|
|
194
|
+
Install the latest `segment-geospatial` release on top of the resolved environment:
|
|
204
195
|
|
|
205
|
-
```
|
|
206
|
-
pip install segment-geospatial
|
|
207
|
-
python -c "import samgeo; print('samgeo import successful')"
|
|
196
|
+
```powershell
|
|
197
|
+
pixi run pip install -U segment-geospatial
|
|
208
198
|
```
|
|
209
199
|
|
|
210
|
-
|
|
200
|
+
---
|
|
211
201
|
|
|
212
|
-
|
|
202
|
+
#### 6) Verify PyTorch + CUDA
|
|
213
203
|
|
|
214
|
-
If
|
|
204
|
+
If you have a NVIDIA GPU with CUDA, run the following command to verify the PyTorch + CUDA installation:
|
|
215
205
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
3. Try reinstalling PyTorch:
|
|
219
|
-
|
|
220
|
-
```bash
|
|
221
|
-
conda uninstall pytorch torchvision -y
|
|
222
|
-
conda install pytorch torchvision pytorch-cuda=12.4 -c pytorch -c nvidia -y
|
|
206
|
+
```powershell
|
|
207
|
+
pixi run python -c "import torch; print('PyTorch:', torch.__version__); print('CUDA available:', torch.cuda.is_available()); print('GPU:', (torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'None'))"
|
|
223
208
|
```
|
|
224
209
|
|
|
225
|
-
|
|
210
|
+
Expected output should be like this:
|
|
226
211
|
|
|
227
|
-
|
|
212
|
+
- `PyTorch: 2.9.1`
|
|
213
|
+
- `CUDA available: True`
|
|
214
|
+
- `GPU: NVIDIA RTX 4090`
|
|
228
215
|
|
|
229
|
-
|
|
230
|
-
- Download and install [VC++ Redistributable](https://aka.ms/vs/17/release/vc_redist.x64.exe)
|
|
231
|
-
2. Restart your computer after installation
|
|
216
|
+
If CUDA is `False`, check:
|
|
232
217
|
|
|
233
|
-
|
|
218
|
+
- `nvidia-smi` works in PowerShell
|
|
219
|
+
- NVIDIA driver is up to date
|
|
234
220
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
1. Ensure you're using Python 3.12 (not 3.13+)
|
|
238
|
-
2. Try installing from conda-forge:
|
|
239
|
-
|
|
240
|
-
```bash
|
|
241
|
-
pip install triton-windows --no-cache-dir
|
|
242
|
-
```
|
|
221
|
+
---
|
|
243
222
|
|
|
244
|
-
If Triton still doesn't work, you can skip SAM3 and use SAM1/SAM2 instead.
|
|
245
223
|
|
|
246
|
-
|
|
224
|
+
#### Request access to SAM 3
|
|
247
225
|
|
|
248
|
-
|
|
226
|
+
To use SAM 3, you will need to request access by filling out this form on Hugging Face at <https://huggingface.co/facebook/sam3>. Once your request has been approved, run the following command in the terminal to authenticate:
|
|
249
227
|
|
|
250
228
|
```bash
|
|
251
|
-
|
|
229
|
+
pixi run hf auth login
|
|
252
230
|
```
|
|
253
231
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
Make sure you launch QGIS from the activated conda environment:
|
|
232
|
+
After authentication, you can download the SAM 3 model from Hugging Face:
|
|
257
233
|
|
|
258
234
|
```bash
|
|
259
|
-
|
|
260
|
-
qgis
|
|
235
|
+
pixi run hf download facebook/sam3
|
|
261
236
|
```
|
|
262
237
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
**Common Issue 6: Out of memory errors**
|
|
266
|
-
|
|
267
|
-
If you run out of GPU memory:
|
|
238
|
+
**Important Note**: SAM 3 currently requires a NVIDIA GPU with CUDA support. You won't be able to use SAM 3 if you have a CPU only system ([source](https://github.com/facebookresearch/sam3/issues/164)). You will get an error message like this: `Failed to load model: Torch not compiled with CUDA enabled`.
|
|
268
239
|
|
|
269
|
-
|
|
270
|
-
2. Close other GPU-intensive applications
|
|
271
|
-
3. Use smaller batch sizes in training/inference settings
|
|
272
|
-
4. Switch to CPU mode in the plugin settings for smaller tasks
|
|
273
|
-
|
|
274
|
-
##### Video Tutorial
|
|
275
|
-
|
|
276
|
-
You can follow this [video tutorial](https://youtu.be/a-Ns9peiuu8) to install the GeoAI QGIS Plugin on Windows:
|
|
277
|
-
|
|
278
|
-
[](https://youtu.be/a-Ns9peiuu8)
|
|
279
|
-
|
|
280
|
-
#### Request access to SAM 3
|
|
281
|
-
|
|
282
|
-
To use SAM 3, you will need to request access by filling out this form on Hugging Face at <https://huggingface.co/facebook/sam3>. Once your request has been approved, run the following command in the terminal to authenticate:
|
|
283
|
-
|
|
284
|
-
```bash
|
|
285
|
-
hf auth login
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
### 2) Install the QGIS plugin
|
|
240
|
+
### 2. Install the QGIS plugin
|
|
289
241
|
|
|
290
242
|
Option A — use QGIS Plugin Manager (recommended):
|
|
291
243
|
|
|
292
|
-
GeoAI is available as
|
|
293
|
-
|
|
294
|
-
1. Launch QGIS: `conda run qgis`
|
|
295
|
-
2. Go to `Plugins` → `Manage and Install Plugins...` → `Settings` tab → check `Show also Experimental Plugins` → Click on `Reload all Repositories` button.
|
|
296
|
-
3. Switch to the `All` tab, search for `GeoAI`, select it, and click `Install Experimental Plugin`.
|
|
244
|
+
GeoAI is available as a QGIS plugin in the official [QGIS plugin repository](https://plugins.qgis.org/plugins/geoai). To install:
|
|
297
245
|
|
|
298
|
-
|
|
246
|
+
1. Launch QGIS: `pixi run qgis`
|
|
247
|
+
2. Go to `Plugins` → `Manage and Install Plugins...`
|
|
248
|
+
3. Switch to the `All` tab, search for `GeoAI`, select it, and click `Install Plugin`
|
|
299
249
|
|
|
300
|
-

|
|
301
251
|
|
|
302
252
|
Option B — use the helper script:
|
|
303
253
|
|
|
@@ -320,9 +270,9 @@ Option C — manual copy:
|
|
|
320
270
|
- Windows: `C:\Users\<username>\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\`
|
|
321
271
|
- macOS: `~/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/`
|
|
322
272
|
|
|
323
|
-
### 3
|
|
273
|
+
### 3. Enable in QGIS
|
|
324
274
|
|
|
325
|
-
Launch QGIS: `
|
|
275
|
+
Launch QGIS: `pixi run qgis`
|
|
326
276
|
|
|
327
277
|
QGIS → `Plugins` → `Manage and Install Plugins...` → enable `GeoAI`. After updates, toggle the plugin off/on or restart QGIS to reload.
|
|
328
278
|
|
|
@@ -359,7 +309,7 @@ Sample datasets:
|
|
|
359
309
|
|
|
360
310
|
Steps:
|
|
361
311
|
|
|
362
|
-
1. Download the sample datasets (links above) or prepare your own imagery/vector labels. Store them in a folder that is accessible to
|
|
312
|
+
1. Download the sample datasets (links above) or prepare your own imagery/vector labels. Store them in a folder that is accessible to pixi project.
|
|
363
313
|
2. Click the **Segmentation** button in the GeoAI toolbar (or `GeoAI` menu → `Segmentation`)
|
|
364
314
|
3. Use the tabs at the top of the panel to switch between:
|
|
365
315
|
|
|
@@ -467,7 +417,6 @@ The QGIS plugin supports any models supported by [Pytorch Segmentation Models](h
|
|
|
467
417
|
## Troubleshooting
|
|
468
418
|
|
|
469
419
|
- Plugin missing after install: confirm the plugin folder exists in your QGIS profile path and that you restarted QGIS.
|
|
470
|
-
- GDAL/rasterio errors: verify you launched QGIS from the conda env (`conda activate geo` then `qgis`) so it picks up the same Python libs.
|
|
471
420
|
- CUDA OOM: use the **GPU** button to clear cache, lower batch sizes, or switch to CPU for smaller runs.
|
|
472
421
|
- Model download failures: check network/firewall, then retry loading models from the panel.
|
|
473
422
|
|