# 🏛️ roofAI
everything AI about roofs. 🏛️
🔷 [datasets](https://raw.githubusercontent.com/kamangir/roofAI/main/roofAI/dataset) 🔷 [notebooks](https://raw.githubusercontent.com/kamangir/roofAI/main/notebooks/) 🔷 [semseg](https://raw.githubusercontent.com/kamangir/roofAI/main/roofAI/semseg) 🔷 [inference](https://raw.githubusercontent.com/kamangir/roofAI/main/roofAI/inference) 🔷 [sagemaker](https://raw.githubusercontent.com/kamangir/roofAI/main/roofAI/semseg/sagemaker/) 🔷
![image](https://raw.githubusercontent.com/kamangir/roofAI/main/assets/predict-00247.png)
```bash
pip install roofAI
```
```bash
> roofAI help
cloudwatch browse \
[endpoint] \
[<endpoint-name>]
. browse endpoint on cloudwatch.
* default endpoint: endpoint-model-2023-12-03-11-24-39-75649-pytorch
roofAI conda activate [sagemaker|semseg]
. activate conda environment.
roofAI conda create [~validate,~recreate,sagemaker|semseg]
. create conda environment.
roofAI conda environment_name [sagemaker|semseg]
. return conda environment_name
roofAI conda validate
. validate conda environment.
roofAI inference create \
[dryrun,model] \
[.|<object-name>] \
[--verbose 1] \
[--verify 0]
. create inference model.
roofAI inference create \
[dryrun,endpoint_config,suffix=<suffix>] \
[.|<object-name>] \
[--verbose 1] \
[--verify 0]
. create inference endpoint config.
roofAI inference create \
[dryrun,endpoint,config_suffix=<suffix>,suffix=<suffix>] \
[.|<object-name>] \
[--verbose 1] \
[--verify 0]
. create inference endpoint.
roofAI inference delete \
[dryrun,model|endpoint_config|endpoint] \
<name> \
[--verbose 1]
. delete inference object.
roofAI inference describe \
[dryrun,endpoint] \
<name> \
[--verbose 1]
. describe inference endpoint.
roofAI inference invoke \
[~download,dryrun,profile=FULL|DECENT|QUICK|DEBUG|VALIDATION,upload] \
[-|<endpoint-name>] \
[..|<dataset-object-name>] \
[-|<prediction-object-name>] \
[--verbose 1]
. <dataset-object-name> -> inference endpoint -> <prediction-object-name>.
* default endpoint: endpoint-model-2023-12-03-11-24-39-75649-pytorch
roofAI inference list \
[dryrun,model|endpoint_config|endpoint,contains=<string>] \
[--verbose 1]
. list inference objects.
roofAI inference pull \
[dryrun]
. pull the inference image.
QGIS seed [screen]
. seed 🌱 QGIS.
QGIS expressions pull
. pull QGIS expressions.
QGIS expressions push [push]
. push QGIS expressions.
📂 /Users/kamangir/Library/Application Support/QGIS/QGIS3/profiles/default/python/expressions
📂 /Users/kamangir/git/roofAI/roofAI/QGIS/expressions
QGIS serve[r] [start]
. start QGIS server.
semseg list
. list registered semseg models.
semseg predict \
[device=cpu|cuda,~download,dryrun,profile=FULL|DECENT|QUICK|DEBUG|VALIDATION,upload] \
[...|<model-object-name>] \
[..|<dataset-object-name>] \
[-|<prediction-object-name>]
. semseg[<model-object-name>].predict(<dataset-object-name>) -> <prediction-object-name>.
semseg train \
[device=cpu|cuda,~download,dryrun,profile=FULL|DECENT|QUICK|DEBUG|VALIDATION,register,suffix=<v1>,upload] \
<dataset-object-name> \
<model-object-name> \
[--activation <sigmoid>] \
[--classes <one+two+three+four>] \
[--encoder_name <se_resnext50_32x4d>] \
[--encoder_weights <imagenet>]
. semseg.train(<dataset-object-name>) -> <model-object-name>.
roofAI dataset ingest \
[source=AIRS,dryrun,open,register,suffix=<v1>,upload,target=sagemaker|torch] \
<object-name> \
[--test_count <10>] \
[--train_count <10>] \
[--val_count <10>]
. ingest AIRS -> <object-name>.
roofAI dataset ingest \
[source=CamVid,dryrun,open,register,suffix=<v1>,upload] \
<object-name>
. ingest CamVid -> <object-name>.
roofAI dataset review \
[download,dryrun,open] \
<object-name> \
[--count <1>] \
[--index <index>] \
[--subset <subset>]
. review <object-name>.
```
---
[![PyPI version](https://img.shields.io/pypi/v/roofAI.svg)](https://pypi.org/project/roofAI/)
---
To use on [AWS SageMaker](https://aws.amazon.com/sagemaker/) replace `<plugin-name>` with `roofAI` and follow [these instructions](https://github.com/kamangir/notebooks-and-scripts/blob/main/SageMaker.md).
Raw data
{
"_id": null,
"home_page": "https://github.com/kamangir/roofAI",
"name": "roofAI",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Arash Abadpour (Kamangir)",
"author_email": "arash@kamangir.net",
"download_url": "https://files.pythonhosted.org/packages/54/7c/59a7f27c0ae6c5aff5d49f872e392c2a8a3ccd507f162b8a8b1ee276bdb9/roofai-4.86.1.tar.gz",
"platform": null,
"description": "# \ud83c\udfdb\ufe0f roofAI\n\neverything AI about roofs. \ud83c\udfdb\ufe0f\n\n\ud83d\udd37 [datasets](https://raw.githubusercontent.com/kamangir/roofAI/main/roofAI/dataset) \ud83d\udd37 [notebooks](https://raw.githubusercontent.com/kamangir/roofAI/main/notebooks/) \ud83d\udd37 [semseg](https://raw.githubusercontent.com/kamangir/roofAI/main/roofAI/semseg) \ud83d\udd37 [inference](https://raw.githubusercontent.com/kamangir/roofAI/main/roofAI/inference) \ud83d\udd37 [sagemaker](https://raw.githubusercontent.com/kamangir/roofAI/main/roofAI/semseg/sagemaker/) \ud83d\udd37\n\n![image](https://raw.githubusercontent.com/kamangir/roofAI/main/assets/predict-00247.png)\n\n```bash\npip install roofAI\n```\n\n```bash\n > roofAI help\ncloudwatch browse \\\n\t[endpoint] \\\n\t[<endpoint-name>]\n . browse endpoint on cloudwatch.\n * default endpoint: endpoint-model-2023-12-03-11-24-39-75649-pytorch\nroofAI conda activate [sagemaker|semseg]\n . activate conda environment.\nroofAI conda create [~validate,~recreate,sagemaker|semseg]\n . create conda environment.\nroofAI conda environment_name [sagemaker|semseg]\n . return conda environment_name\nroofAI conda validate\n . validate conda environment.\nroofAI inference create \\\n\t[dryrun,model] \\\n\t[.|<object-name>] \\\n\t[--verbose 1] \\\n\t[--verify 0]\n . create inference model.\nroofAI inference create \\\n\t[dryrun,endpoint_config,suffix=<suffix>] \\\n\t[.|<object-name>] \\\n\t[--verbose 1] \\\n\t[--verify 0]\n . create inference endpoint config.\nroofAI inference create \\\n\t[dryrun,endpoint,config_suffix=<suffix>,suffix=<suffix>] \\\n\t[.|<object-name>] \\\n\t[--verbose 1] \\\n\t[--verify 0]\n . create inference endpoint.\nroofAI inference delete \\\n\t[dryrun,model|endpoint_config|endpoint] \\\n\t<name> \\\n\t[--verbose 1]\n . delete inference object.\nroofAI inference describe \\\n\t[dryrun,endpoint] \\\n\t<name> \\\n\t[--verbose 1]\n . describe inference endpoint.\nroofAI inference invoke \\\n\t[~download,dryrun,profile=FULL|DECENT|QUICK|DEBUG|VALIDATION,upload] \\\n\t[-|<endpoint-name>] \\\n\t[..|<dataset-object-name>] \\\n\t[-|<prediction-object-name>] \\\n\t[--verbose 1]\n . <dataset-object-name> -> inference endpoint -> <prediction-object-name>.\n * default endpoint: endpoint-model-2023-12-03-11-24-39-75649-pytorch\nroofAI inference list \\\n\t[dryrun,model|endpoint_config|endpoint,contains=<string>] \\\n\t[--verbose 1]\n . list inference objects.\nroofAI inference pull \\\n\t[dryrun]\n . pull the inference image.\nQGIS seed [screen]\n . seed \ud83c\udf31 QGIS.\nQGIS expressions pull\n . pull QGIS expressions.\nQGIS expressions push [push]\n . push QGIS expressions.\n \ud83d\udcc2 /Users/kamangir/Library/Application Support/QGIS/QGIS3/profiles/default/python/expressions\n \ud83d\udcc2 /Users/kamangir/git/roofAI/roofAI/QGIS/expressions\nQGIS serve[r] [start]\n . start QGIS server.\nsemseg list\n . list registered semseg models.\nsemseg predict \\\n\t[device=cpu|cuda,~download,dryrun,profile=FULL|DECENT|QUICK|DEBUG|VALIDATION,upload] \\\n\t[...|<model-object-name>] \\\n\t[..|<dataset-object-name>] \\\n\t[-|<prediction-object-name>]\n . semseg[<model-object-name>].predict(<dataset-object-name>) -> <prediction-object-name>.\nsemseg train \\\n\t[device=cpu|cuda,~download,dryrun,profile=FULL|DECENT|QUICK|DEBUG|VALIDATION,register,suffix=<v1>,upload] \\\n\t<dataset-object-name> \\\n\t<model-object-name> \\\n\t[--activation <sigmoid>] \\\n\t[--classes <one+two+three+four>] \\\n\t[--encoder_name <se_resnext50_32x4d>] \\\n\t[--encoder_weights <imagenet>]\n . semseg.train(<dataset-object-name>) -> <model-object-name>.\nroofAI dataset ingest \\\n\t[source=AIRS,dryrun,open,register,suffix=<v1>,upload,target=sagemaker|torch] \\\n\t<object-name> \\\n\t[--test_count <10>] \\\n\t[--train_count <10>] \\\n\t[--val_count <10>]\n . ingest AIRS -> <object-name>.\nroofAI dataset ingest \\\n\t[source=CamVid,dryrun,open,register,suffix=<v1>,upload] \\\n\t<object-name>\n . ingest CamVid -> <object-name>.\nroofAI dataset review \\\n\t[download,dryrun,open] \\\n\t<object-name> \\\n\t[--count <1>] \\\n\t[--index <index>] \\\n\t[--subset <subset>]\n . review <object-name>.\n```\n\n---\n\n[![PyPI version](https://img.shields.io/pypi/v/roofAI.svg)](https://pypi.org/project/roofAI/)\n\n---\n\nTo use on [AWS SageMaker](https://aws.amazon.com/sagemaker/) replace `<plugin-name>` with `roofAI` and follow [these instructions](https://github.com/kamangir/notebooks-and-scripts/blob/main/SageMaker.md).\n",
"bugtrack_url": null,
"license": "Public Domain",
"summary": "\ud83c\udfdb\ufe0f everything AI about roofs.",
"version": "4.86.1",
"project_urls": {
"Homepage": "https://github.com/kamangir/roofAI"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "efa6bac876f62712340e894a2fe36bdfbafd72001ffa65ec8c45cbb8ce2c5f88",
"md5": "04cf67bd2064b01d042515ea233610ec",
"sha256": "c94ec28c3cc57634bab1b977208603b7526827d4913e35b57bb25df6d6bd7232"
},
"downloads": -1,
"filename": "roofAI-4.86.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "04cf67bd2064b01d042515ea233610ec",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 16514,
"upload_time": "2024-10-27T04:46:49",
"upload_time_iso_8601": "2024-10-27T04:46:49.217013Z",
"url": "https://files.pythonhosted.org/packages/ef/a6/bac876f62712340e894a2fe36bdfbafd72001ffa65ec8c45cbb8ce2c5f88/roofAI-4.86.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "547c59a7f27c0ae6c5aff5d49f872e392c2a8a3ccd507f162b8a8b1ee276bdb9",
"md5": "b850d7cf515d6bc1eff49e49d50b0b91",
"sha256": "4669278bf4b2d2617a0ae4be3771ab98e41149e14f543f3622a78e41f85c9e2e"
},
"downloads": -1,
"filename": "roofai-4.86.1.tar.gz",
"has_sig": false,
"md5_digest": "b850d7cf515d6bc1eff49e49d50b0b91",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12964,
"upload_time": "2024-10-27T04:46:50",
"upload_time_iso_8601": "2024-10-27T04:46:50.862824Z",
"url": "https://files.pythonhosted.org/packages/54/7c/59a7f27c0ae6c5aff5d49f872e392c2a8a3ccd507f162b8a8b1ee276bdb9/roofai-4.86.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-27 04:46:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kamangir",
"github_project": "roofAI",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "blueness",
"specs": []
},
{
"name": "abcli",
"specs": []
},
{
"name": "albumentations",
"specs": [
[
"==",
"1.3.0"
]
]
},
{
"name": "blueflow",
"specs": []
},
{
"name": "boto3",
"specs": []
},
{
"name": "efficientnet_pytorch",
"specs": []
},
{
"name": "geojson",
"specs": []
},
{
"name": "geopandas",
"specs": []
},
{
"name": "kaggle",
"specs": []
},
{
"name": "matplotlib",
"specs": []
},
{
"name": "opencv-python",
"specs": []
},
{
"name": "pretrainedmodels",
"specs": []
},
{
"name": "pymysql",
"specs": []
},
{
"name": "pyyaml",
"specs": []
},
{
"name": "pylint",
"specs": []
},
{
"name": "pytest",
"specs": []
},
{
"name": "python-dotenv",
"specs": []
},
{
"name": "sagemaker",
"specs": [
[
"<",
"3"
],
[
">=",
"2"
]
]
},
{
"name": "segmentation_models_pytorch",
"specs": []
},
{
"name": "scipy",
"specs": []
},
{
"name": "segmentation-models-pytorch",
"specs": []
},
{
"name": "shapely",
"specs": []
},
{
"name": "timm",
"specs": []
},
{
"name": "torch",
"specs": []
},
{
"name": "tqdm",
"specs": []
}
],
"lcname": "roofai"
}