Click here to Skip to main content
15,894,405 members
Articles / Artificial Intelligence

CodeProject.AI Server: AI the easy way.

Rate me:
Please Sign up or sign in to vote.
5.00/5 (92 votes)
29 Feb 202416 min read 3.5M   495.8K   271   6.8K
Version 2.6.2. Our fast, free, self-hosted Artificial Intelligence Server for any platform, any language
CodeProject.AI Server is a locally installed, self-hosted, fast, free and Open Source Artificial Intelligence server for any platform, any language. No off-device or out of network data transfer, no messing around with dependencies, and able to be used from any platform, any language. Runs as a Windows Service or a Docker container.

Image 1

Previous

Quick Links

CodeProject.AI Server: An Artificial Intelligence Server

For those who want to integrate AI functionality into their applications without writing the AI functionality or dealing with the insanely painful task of ensuring everything is setup correctly. CodeProject.AI Server manages your MLOps for you.

Think of CodeProject.AI Server like a database server: you install it, it runs in the background, and provides AI operations for any application via a simple API. The AI operations are handled by drop-in modules that can be easily created using any language, any stack, as long as that stack runs on the host machine. Python, .NET, node - whatever works for you.

CodeProject.AI server runs as a Windows service, under systemd in Linux, or on startup on macOS. Alternatively there are multiple Docker images for x64, arm64 and CUDA enabled systems. Any language that can make HTTP calls can access the service, and the server does not require an external internet connection. Your data stays in your network.

Image 2 Image 3 Image 4 Image 5 Image 6 Image 7 Image 8 Image 9 Image 10
Windows macOS macOS-arm64 Ubuntu Debian Raspberry Pi Orange Pi Jetson Nano Docker

What Does It Do?

Image 11

The CodeProject.AI Server's Dashboard

Currently CodeProject.AI Server contains AI modules that provide:

  • Object Detection (Python and .NET versions that use YOLO, plus a Tensorflow-Lite module that's ultra-lightweight and great for Raspberry Pi and Coral USB sticks
  • Face Detection and recognition
  • Text processing such as sentiment analysis and summarization
  • Image processing such as background removal, background blur, cartoon-isation and resolution enhancement
  • Model training, including dataset acquisition, for YOLO object detection

How Do I Use It?

Install the server and start making calls to the API. It's that easy.

Guides, Help, FAQs

CodeProject.AI Server Home Assistant Blue Iris

Image 12

The CodeProject.AI Server's Explorer in action

Why We Built CodeProject.AI Server

  • AI programming is something every single developer should be aware of

    We wanted a fun project we could use to help teach developers and get them involved in AI. We'll be using CodeProject.AI Server as a focus for articles and exploration to make it fun and painless to learn AI programming.

    We want your contributions!

  • AI coding examples have too many moving parts

    You need to install packages and languages and extensions to tools, and then updates and libraries (but version X, not version Y) and then you have to configure paths and...Oh, you want to run on Windows not Linux? In that case, you need to... It's all too hard. There was much yelling at CodeProject.

    CodeProject.AI Server includes everything you need in a single installer. CodeProject.AI Server also provides an installation script that will setup your dev environment and get you debugging within a couple of clicks.

  • AI solutions often require the use of cloud services

    If you trust the cloud provider, or understand the billing structure, or can be assured you aren't sending sensitive data or won't go over the free tier, this is fine. If you have a webcam inside your house, or can't work out how much AWS will charge, it's not so OK.

    CodeProject.AI Server can be installed locally. Your machine, your network, no data needs to leave your device.

1: Running and Playing With the Features

  1. Install and Run
    1. For a Windows Service, download the latest version, install, and launch the shortcut to the server's dashboard on your desktop or open a browser to http://localhost:32168.

      If you wish to take advantage of a CUDA enabled NVIDIA GPU, please ensure you have the CUDA drivers installed before you install CodeProject.AI. We recommend CUDA 11.8 if running Windows

    2. For a Docker Container for 64 Bit Linux, run:
      docker run -p 32168:32168 --name CodeProject.AI -d codeproject/ai-server

      For Docker GPU (supports NVIDIA CUDA), please use:

      docker run --gpus all -p 32168:32168 --name CodeProject.AI -d codeproject/ai-server:cuda11_7
  2. On the dashboard, at the top, is a link to the demo playground. Open that and play!

2: Running and Debugging the Code

  1. Clone the CodeProject CodeProject.AI Server repository.
  2. Make sure you have Visual Studio Code or Visual Studio 2019+ installed.
  3. Run the setup script in /src
  4. Debug the front-end server application (see notes below, but it's easy).

3. Using CodeProject.AI Server in My Application

Here's an example of using the API for scene detection using a simple JavaScript call:

HTML
<html>
<body>
Detect the scene in this file: <input id="image" type="file" />
<input type="button" value="Detect Scene" onclick="detectScene(image)" />

<script>
function detectScene(fileChooser) {
    var formData = new FormData();
    formData.append('image', fileChooser.files[0]);

    fetch('http://localhost:5000/v1/vision/detect/scene', {
        method: "POST",
        body: formData
    })
    .then(response => {
        if (response.ok) response.json().then(data => {
            console.log(`Scene is ${data.label}, ${data.confidence} confidence`)
        });
    });
}
</script>
</body>
</html>

You can include the CodeProject.AI Server installer (or just a link to the latest version of the installer) in your own apps and installers and voila, you have an AI enabled app.

See the API documentation for a complete rundown of functionality.

Notes on the installers

The native installers (Windows, Ubuntu and macOS) all install the server as a service. On Windows it's a Windows service, on Ubuntu it uses systemd, and on macOS it's simply a login item so will start each time you login.

For all platforms, open http://localhost:32168 to view the dashboard.

To uninstall, please take note of the instructions when you install. For reference:

  • Windows uses the standard Windows installer, so use the Control Panel / Apps and Features applet to manage the installation.
     
  • Ubuntu uses dpkg, so to uninstall simply call
    Bash
    sudo dpkg -r codeproject.ai-server
  • macOS uninstall is via the command line
    Shell
    sudo bash "/Library/CodeProject.AI Server/<version>/uninstall.sh"

Notes on CUDA and Nvidia Support

If you have a CUDA enabled Nvidia card, please then ensure you

  1. install the CUDA Drivers (We recommend CUDA 11.7 or CUDA 11.8 if running Windows)
  2. Install CUDA Toolkit 11.8.
  3. Download and run our cuDNN install script to install cuDNN 8.9.4.

Nvidia downloads and drivers are challenging! Please ensure you download a driver that is compatible with CUDA 11.7+, which generally means the CUDA driver version 516.94 or below. Version 522.x or above may not work. You may need to refer to the release notes for each driver to confirm.

Our Docker images are based on CUDA 11.7 (for legacy reasons) and 12.2. As long as you have a driver installed that can handle 11.7 or 12.2 then the docker image will interface with your drivers and work fine.

CUDA 12.2 brings a few challenges with code that uses PyTorch due to the move to Torch 2.0, so we tend to favour 11.7. Some older cards will not be compatible with CUDA 12, or even CUDA 11.7. If you are struggling with older cards that don't support CUDA 11.7 then post a comment and we'll try and help.

Since we are using CUDA 11.7+ (which has support for compute capability 3.7 and above), we can only support Nvidia CUDA cards that are equal to or better than a GK210 or Tesla K80 card. Please refer to this table of supported cards to determine if your card has compute capability 3.7 or above.

Newer cards such as the GTX 10xx, 20xx and 30xx series, RTX, MX series are fully supported.

AI is a memory intensive operation. Some cards with 2GB RAM or less may struggle in some situations. Using the dashboard, you can either disable modules you don't need, or disable GPU support entirely for one or more modules. This will free up memory and help get you back on track.

What Does It Include?

CodeProject.AI Server includes:

  • A HTTP REST API Server. The server listens for requests from other apps, passes them to the backend analysis services for processing, and then passes the results back to the caller. It runs as a simple self-contained web service on your device.
  • Backend Analysis services. The brains of the operation is in the analysis services sitting behind the front end API. All processing of data is done on the current machine. No calls to the cloud and no data leaving the device.
  • The source code, naturally.

CodeProject.AI Server can currently

  • Detect objects in images
  • Detect faces in images
  • Detect the type of scene represented in an image
  • Recognise faces that have been registered with the service
  • Perform detection on custom models

The development environment also provides modules that can

  • Remove a background from an image
  • Blur a background from an image
  • Enhance the resolution of an image
  • Pull out the most important sentences in text to generate a text summary
  • Prove sentiment analysis on text

We will be constantly expanding the feature list.

Our Goals

  • To promote AI development and inspire the AI developer community to dive in and have a go. Artificial Intelligence is a huge paradigm change in the industry and all developers owe it to themselves to experiment in and familiarize themselves with the technology. CodeProject.AI Server was built as a learning tool, a demonstration, and a library and service that can be used out of the box.
  • To make AI development easy. It's not that AI development is that hard. It's that there are so, so many options. Our architecture is designed to allow any AI implementation to find a home in our system, and for our service to be callable from any language.
  • To focus on core use-cases. We're deliberately not a solution for everyone. Instead, we're a solution for common day-to-day needs. We will be adding dozens of modules and scores of AI capabilities to our system, but our goal is always clarity and simplicity over a 100% solution.
  • To tap the expertise of the Developer Community. We're not experts but we know a developer or two out there who are. The true power of CodeProject.AI Server comes from the contributions and improvements from our AI community.

License

CodeProject.AI Server is licensed under the Server-Side Public License.

Release Notes

What's New - 2.6

  • You can now select, at install time, which modules you wish to have initially installed
  • Some modules (Coral, Yolov8) now allow you to download individual models at runtime via the dashboard.
  • A new generative AI module (Llama LLM Chatbot)
  • A standardised way to handle (in code) modules that run long processes such as generative AI
  • Debian support has been improved
  • Small UI improvements to the dashboard
  • Some simplification of the modulesettings files
  • The inclusion, in the source code, of template .NET and Python modules (both simple and long process demos)
  • Improvements to the Coral and ALPR modules (thanks to Seth and Mike)
  • Docker CUDA 12.2 image now includes cuDNN
  • Install script fixes
  • Added Object Segmentation to the YOLOv8 module

Previous Versions

Release 2.5

  • Dynamic Explorer UI: Each module now supplies its own UI for the explorer
  • Improved dashboard and explorer
    • The module listing now shows module version history if you click the version number
    • Explorer benchmark has been updated to use the custom models of the currently active object detection module
    • The Info button on the dashboard now includes a status data dump from the module. For things like object detectors, it will include a dictionary of labels / counts so you can see what's being detected. For longer running modules such as training it will include the training status. This is here to enable better UI features in the future
  • Updated module settings schema that includes module author and original project acknowledgement
  • Installer fixes
  • Improved Jetson support
  • Lots of bug fixes, but specifically there was a script issue affecting module installs, and a modulesettings.json issue affecting the YOLOv5 6.2 module, as well as the SuperResolution module.
  • Updated ALPR, OCR (PP-OCR4 support thanks to Mike Lud) and Coral Object Detection (multi-TPU support thanks to Seth Price) modules
  • Pre-installed modules in Docker can now be uninstalled / reinstalled
  • A new Sound Classifier module has been included
  • 2.5.4: A separate status update from each module that decouples the stats for a module. This just cleans things up a little on the backend
  • 2.5.4: Minor modulesettings.json schema update, which introduces the concept of model requirements.
  • 2.5.5: Support for long running processes with accompanying stable difussion module.

Release 2.4

  • Mesh support Automatically offload inference work to other servers on your network based on inference speed. Zero config, and dashboard support to enable/disable.
  • CUDA detection fixed
  • Module self-test performed on installation
  • YOLOv8 module added
  • YOLOv5 .NET module fixes for GPU, and YOLOv5 3.1 GPU support fixed
  • Python package and .NET installation issues fixed
  • Better prompts for admin-only installs
  • More logging output to help diagnose issues
  • VC Redist hash error fixed
  • General bug fixes.
  • Breaking: modulesettings.json schema changed

Release 2.3

  • A focus on improving the installation of modules at runtime. More error checks, faster re-install, better reporting, and manual fallbacks in situations where admin rights are needed
  • A revamped SDK that removes much (or all, in some cases) of the boilerplate code needed in install scripts
  • Fine grained support for different CUDA versions as well as systems such as Raspberry Pi, Orange Pi and Jetson
  • Support for CUDA 12.2
  • GPU support for PaddlePaddle (OCR and license plate readers benefit)
  • CUDA 12.2 Docker image
  • Lots of bug fixes in install scripts
  • UI tweaks
  • 2.3.4 ALPR now using GPU in Windows
  • 2.3.4 Corrections to Linux/macOS installers

Release 2.2.0

This release is still in testing and is focussed mainly on the installation process

  • An entirely new Windows installer offering more installation options and a smoother upgrade experience from here on.
  • New macOS and Ubuntu native installers, for x64 and arm64 (including Raspberry Pi)
  • A new installation SDK for making module installers far easier
  • Improved installation feedback and self-checks
  • Coral.AI support for Linux, macOS (version 11 and 12 only) and Windows
  • Updates:
    • 2.2.1 - 2.2.3 various installer fixes
    • 2.2.4 - Fix to remove chunking in order to allow HTTP1.1 access to the API (Blue Iris fix)

Release 2.1.x Beta

  • Improved Raspberry Pi support. A new, fast object detection module with support for the Coral.AI TPU, all within an Arm64 Docker image
  • All modules can now be installed / uninstalled (rather than having some modules fixed and uninstallable).
  • Installer is streamlined: Only the server is installed at installation time, and on first run, we install Object Detection (Python and .NET) and Face Processing (which can be uninstalled).
  • Reworking of the Python module SDK. Modules are new child classes, not aggregators of our module runner.
  • Reworking of the modulesettings file to make it simpler and have less replication
  • Improved logging: quantity, quality, filtering and better information
  • Addition of two modules: ObjectDetectionTFLite for Object Detection on Raspberry Pi using Coral, and Cartoonise for some fun
  • Improvements to half-precision support checks on CUDA cards
  • Modules are now versioned and our module registry will now only show modules that fit your current server version.
  • Various bug fixes
  • Shared Python runtimes now in /runtimes.
  • All modules moved from the /AnalysisLayer folder to the /modules folder
  • Tested on CUDA 12
     
  • Patch 2.1.11: YOLO training modulke now allows you to use your own dataset. YOLO 6.2 / Face Processing reverted back to Torch 1.13.
  • Patch 2.1.10: Added YOLOv5 training module and support. Improved system info. Orange Pi and NVIDIA Jetson support. Added Triggers. Renamed VersionCompatibililty to ModuleReleases. Becoz speling.
  • Patch 2.1.9: Increased and adjustable module install timeout and improved install logs. Fixes around resource contention in PyTorch, Fixes to resource usage reporting, improved Native Linux/WSL CUDA setup. Async fixes. Improvements to half-precision support.
  • Patch 2.1.8: Reduced, drastically, the load on the system while getting CPU/GPU usage updates.
  • Patch 2.1.7: Fixed a memory / resource leak that may have been causing server shutdowns
  • Patch 2.1.6 and below: Installer fixes

Please see our CUDA Notes for information on setting up, and restrictions around, Nvidia cards and CUDA support.

If you are upgrading: when the dashboard launches, it might be necessary to force-reload (Ctrl+R on Windows) the dashboard to ensure you are viewing the latest version.

Release 2.0.x Beta

  • 2.0.8: Improved analysis process management. Stamp out those errant memory hogging Python processes!
  • 2.0.7: Improved logging, both file based and in the dashboard, module installer/uninstaller bug fixes
  • 2.0.6: Corrected issues with downloadable modules installer
  • Our new Module Registry: download and install modules at runtime via the dashboard
  • Improved performance for the Object Detection modules
  • Optional YOLO 3.1 Object Detection module for older GPUs
  • Optimised RAM use
  • Support for Raspberry Pi 4+. Code and run natively directly on the Raspberry Pi using VSCode natively
  • Revamped dashboard
  • New timing reporting for each API call
  • New, simplified setup and install scripts

Release 1.6.x Beta

  • Optimised RAM use
  • Ability to enable / disable modules and GPU support via the dashboard
  • REST settings API for updating settings on the fly
  • Apple M1/M2 GPU support
  • Workarounds for some Nvidia cards
  • Async processes and logging for a performance boost
  • Breaking: The CustomObjectDetection is now part of ObjectDetectionYolo
  • Performance fix for CPU + video demo
  • Patch 1.6.7: potential memory leak addressed
  • Patch 1.6.8: image handling improvements on Linux, multi-thread ONNX on .NET

Release 1.5.6.2 Beta

  • Docker nVidia GPU support
  • Further performance improvements
  • cuDNN install script to help with nVidia driver and toolkit installation
  • Bug fixes

Release 1.5.6 Beta

  • nVidia GPU support for Windows
  • Perf improvements to Python modules
  • Work on the Python SDK to make creating modules easier
  • Dev installers now drastically simplified for those creating new modules
  • Added SuperResolution as a demo module

Release 1.5 Beta

  • Support for custom models

Release 1.3.x Beta

  • Refactored and improved setup and module addition system
  • Introduction of modulesettings.json files
  • New analysis modules

Release 1.2.x Beta

  • Support for Apple Silicon for development mode
  • Native Windows installer
  • Runs as Windows Service
  • Run in a Docker Container
  • Installs and builds using VSCode in Linux (Ubuntu), macOS and Windows, as well as Visual Studio on Windows
  • General optimisation of the download payload sizes

Previous

  • We started with a proof of concept on Windows 10+ only. Installs we via a simple BAT script, and the code is full of exciting sharp edges. A simple dashboard and playground are included. Analysis is currently Python code only.
  • Version checks are enabled to alert users to new versions.
  • A new .NET implementation scene detection using the YOLO model to ensure the codebase is platform and tech stack agnostic
  • Blue Iris integration completed.

Written By
Software Developer CodeProject Solutions
Canada Canada
The CodeProject team have been writing software, building communities, and hosting CodeProject.com for over 20 years. We are passionate about helping developers share knowledge, learn new skills, and connect. We believe everyone can code, and every contribution, no matter how small, helps.

The CodeProject team is currently focussing on CodeProject.AI Server, a stand-alone, self-hosted server that provides AI inferencing services on any platform for any language. Learn AI by jumping in the deep end with us: codeproject.com/AI.
This is a Organisation

4 members

Comments and Discussions

 
AnswerRe: 2.0.8 very stable Pin
Chris Maunder15-Mar-23 16:03
cofounderChris Maunder15-Mar-23 16:03 
QuestionCode Project on Raspberry Pi? Pin
Steve Winn15-Mar-23 5:59
Steve Winn15-Mar-23 5:59 
AnswerRe: Code Project on Raspberry Pi? Pin
theoldfool15-Mar-23 13:22
professionaltheoldfool15-Mar-23 13:22 
GeneralRe: Code Project on Raspberry Pi? Pin
Steve Winn15-Mar-23 13:25
Steve Winn15-Mar-23 13:25 
GeneralRe: Code Project on Raspberry Pi? Pin
theoldfool15-Mar-23 14:01
professionaltheoldfool15-Mar-23 14:01 
AnswerRe: Code Project on Raspberry Pi? Pin
Chris Maunder15-Mar-23 16:02
cofounderChris Maunder15-Mar-23 16:02 
GeneralRe: Code Project on Raspberry Pi? Pin
Steve Winn15-Mar-23 16:38
Steve Winn15-Mar-23 16:38 
QuestionCodeProject.AI stopped... Pin
Steve Winn15-Mar-23 5:20
Steve Winn15-Mar-23 5:20 
CodeProject.AI version 2.0.8 beta
Windows 10 Version 10.0.19045.2728
Yesterday, CodeProject.AI apparently just stopped analysing images.
CodeProject.AI log:
2023-03-14 16:39:19: Client request 'custom' in the queue (#reqid c57610ee-1ec3-47d4-a2d3-0eff1a2e723b)
2023-03-14 16:39:19: Client request 'custom' in the queue (#reqid 0c405ebe-be78-4fc1-9e81-5485f5c36d66)
2023-03-14 16:39:19: Request 'custom' dequeued for processing (#reqid 0c405ebe-be78-4fc1-9e81-5485f5c36d66)
2023-03-14 16:39:19: Request 'custom' dequeued for processing (#reqid c57610ee-1ec3-47d4-a2d3-0eff1a2e723b)
2023-03-14 16:39:19: Object Detection (Net): Command completed in 173 ms. (command timing) in Object Detection (Net)
2023-03-14 16:39:19: Response received (#reqid c57610ee-1ec3-47d4-a2d3-0eff1a2e723b)
2023-03-14 16:39:19: Response received (#reqid 0c405ebe-be78-4fc1-9e81-5485f5c36d66)
2023-03-14 16:39:19: Object Detection (Net): Command completed in 309 ms. (command timing) in Object Detection (Net)
2023-03-14 16:39:21: Request 'custom' dequeued for processing (#reqid bc0db3c2-7f8c-4d81-b4ec-90eaa3146d1b)
2023-03-14 16:39:21: Client request 'custom' in the queue (#reqid bc0db3c2-7f8c-4d81-b4ec-90eaa3146d1b)
2023-03-14 16:39:21: Response received (#reqid bc0db3c2-7f8c-4d81-b4ec-90eaa3146d1b)
2023-03-14 16:39:21: Object Detection (Net): Command completed in 160 ms. (command timing) in Object Detection (Net)
2023-03-14 16:39:23: Client request 'custom' in the queue (#reqid 0294be77-9ded-4448-a164-0f1300fb37f6)
2023-03-14 16:39:23: Client request 'custom' in the queue (#reqid 25f01346-db50-453a-8738-5023e9734b65)
2023-03-14 16:39:23: Request 'custom' dequeued for processing (#reqid 25f01346-db50-453a-8738-5023e9734b65)
2023-03-14 16:39:23: Request 'custom' dequeued for processing (#reqid 0294be77-9ded-4448-a164-0f1300fb37f6)
2023-03-14 16:39:24: Request 'custom' dequeued for processing (#reqid 72f04d1b-c73c-4497-8850-fefba78d3169)
2023-03-14 16:39:24: Client request 'custom' in the queue (#reqid 72f04d1b-c73c-4497-8850-fefba78d3169)
2023-03-14 16:39:24: Request 'custom' dequeued for processing (#reqid 26a80c58-1c25-4ede-9610-e9fa6dcb35b1)
2023-03-14 16:39:24: Client request 'custom' in the queue (#reqid 26a80c58-1c25-4ede-9610-e9fa6dcb35b1)
2023-03-14 16:39:25: Client request 'custom' in the queue (#reqid 3074e69f-0d10-48be-b455-4e3c109592d1)
2023-03-14 16:39:25: Client request 'custom' in the queue (#reqid 09233bfc-dcbd-4135-8d94-6d95ecaf1b29)
2023-03-14 16:39:26: Client request 'custom' in the queue (#reqid d1ba609c-37ce-465e-b06b-63bd1c10fcfa)
2023-03-14 16:39:26: Client request 'custom' in the queue (#reqid e31cc8bd-ba9e-42b4-81f7-a3b094bbe30f)
2023-03-14 16:39:27: Client request 'custom' in the queue (#reqid e40c6d02-37b7-46a9-b615-db31af23d552)
2023-03-14 16:39:27: Client request 'custom' in the queue (#reqid 1ab39efe-0f46-4ab9-afed-7278dbd51ec9)
2023-03-14 16:39:27: Client request 'custom' in the queue (#reqid 6cef2ab5-deb7-4092-9f6c-b146f6327e93)
2023-03-14 16:39:27: Client request 'custom' in the queue (#reqid 9cb06f64-3e3a-43ed-880f-71815d786de4)
2023-03-14 16:39:27: Client request 'custom' in the queue (#reqid 5305f6c9-1831-4610-aa4d-d42386e72f65)
2023-03-14 16:39:28: Client request 'custom' in the queue (#reqid cae46baf-cadd-49ca-a249-d224dc0d5c91)
2023-03-14 16:39:28: Client request 'custom' in the queue (#reqid 10f9dbc9-955b-47af-9be8-e8638a73e527)
2023-03-14 16:39:29: Client request 'custom' in the queue (#reqid 793a14ce-0676-4183-ae97-9e53babdbe7f)
2023-03-14 16:39:29: Client request 'custom' in the queue (#reqid e977473c-3e05-4c00-b1c0-2b53f21c7ddc)
2023-03-14 16:39:30: Client request 'custom' in the queue (#reqid 4b25c94b-33e6-4b29-9d9e-d6f3d46d50c7)
2023-03-14 16:39:30: Client request 'custom' in the queue (#reqid 9bbd6b64-46b9-47cc-99f7-9d9218c4972b)
2023-03-14 16:39:31: Client request 'custom' in the queue (#reqid 1156ec43-b852-4632-b154-0d752e5e7c73)
2023-03-14 16:39:57: Client request 'custom' in the queue (#reqid 415c17b3-a7ed-4c27-b64c-02289bc93ebe)
2023-03-14 16:39:58: Client request 'custom' in the queue (#reqid 96241bd4-7232-4002-8235-ba60796d8fcd)
2023-03-14 16:39:58: Client request 'custom' in the queue (#reqid f5bdad6a-b883-4f9a-8d8a-17701553a6a4)
2023-03-14 16:39:59: Client request 'custom' in the queue (#reqid ee9daecc-41eb-4310-80ce-7934b0f8ed79)
2023-03-14 16:39:59: Client request 'custom' in the queue (#reqid ed28cfe1-6fd2-42d5-a4a2-7c56ac8ee970)
2023-03-14 16:40:00: Client request 'custom' in the queue (#reqid 679410e6-3e64-4633-ba72-b3878a4995a8)
2023-03-14 16:40:00: Client request 'custom' in the queue (#reqid 46c1a81e-fb4a-48a2-8941-54e3c64ffbf4)
2023-03-14 16:40:00: Client request 'custom' in the queue (#reqid 381995c8-d8ad-45d1-a2e0-2a8e28e61fdc)
2023-03-14 16:40:00: Client request 'custom' in the queue (#reqid eeb4b272-6137-4635-bc5e-f48c115ed25a)
2023-03-14 16:40:01: Client request 'custom' in the queue (#reqid 0c2fa351-438d-4bd9-a26b-2cc7bda93e00)
2023-03-14 16:40:01: Client request 'custom' in the queue (#reqid e21dbf55-57d7-4460-8267-e667a494077a)
2023-03-14 16:40:01: Client request 'custom' in the queue (#reqid 670d55b7-1e7f-4e56-bcfc-6ac7d47202dc)
2023-03-14 16:40:01: Client request 'custom' in the queue (#reqid 591b939b-f30f-49b8-8eb5-df2cc3cb4249)
2023-03-14 16:40:02: Client request 'custom' in the queue (#reqid f3e00adf-c1aa-4a6e-a082-8fa2c9b9280b)
2023-03-14 16:40:02: Client request 'custom' in the queue (#reqid 3c1244cf-c42d-470d-8ed8-df34ee9705ac)
2023-03-14 16:40:03: Client request 'custom' in the queue (#reqid 86b1c61e-699d-4e5c-bb1c-0826367c3be4)
2023-03-14 16:40:03: Client request 'custom' in the queue (#reqid 45a04674-d044-4235-a75f-31b704d7b7ca)
2023-03-14 16:40:04: Client request 'custom' in the queue (#reqid 1fed3cc3-69bd-4b2c-a4ad-446d302e7a59)
2023-03-14 16:40:04: Client request 'custom' in the queue (#reqid f8abdc5e-925a-4417-badf-2d76b959cd67)
2023-03-14 16:40:05: Client request 'custom' in the queue (#reqid c377a9f9-d22c-4a26-9305-16465f91a9cf)
2023-03-14 16:40:05: Client request 'custom' in the queue (#reqid 49614dd4-bc2a-4094-b5e2-be7c79065c19)
2023-03-14 16:40:05: Client request 'custom' in the queue (#reqid 5b514c36-8bca-4f6d-abe8-f13b56092747)
2023-03-14 16:40:05: Client request 'custom' in the queue (#reqid fedb37c4-1a3c-4ebe-8a60-e27da2f37bcb)
2023-03-14 16:40:06: Client request 'custom' in the queue (#reqid 6060b8a3-d9a6-4693-837f-34598e9236c2)
2023-03-14 16:40:06: Client request 'custom' in the queue (#reqid a15b0245-5653-41c6-89f7-0d4070a7f92c)
2023-03-14 16:40:07: Client request 'custom' in the queue (#reqid 35a27570-f3c6-4442-ba14-0bb50a6daf0a)
2023-03-14 16:40:07: Client request 'custom' in the queue (#reqid 87be4356-423d-480a-8a89-e4212d9051e9)
2023-03-14 16:40:08: Client request 'custom' in the queue (#reqid 15cdd431-b52d-4b7d-93cd-97bfec6aca90)
2023-03-14 16:40:08: Client request 'custom' in the queue (#reqid 1ed322d2-f6de-4ea6-9bab-7480cf3eaf51)
2023-03-14 16:40:09: Client request 'custom' in the queue (#reqid 66d12cc6-d8e0-4ba8-a6b0-bda7e4bb52d8)
2023-03-14 16:40:48: Client request 'custom' in the queue (#reqid 0c2e600d-900c-4e0d-a618-f456b23d11c3)

It goes on like this for quite a while, queuing images.

Blue Iris is getting AI timeouts about 25 minutes after this (I can't explain the time difference):

3 3/14/2023 4:39:19.194 PM Prater MOTION_A
0 3/14/2023 4:39:19.525 PM Prater AI: [ipcam-dark] Car:94% [84,48 158,83] 176ms
1 3/14/2023 4:39:20.541 PM Prater_111 Signal: network retry
3 3/14/2023 4:39:20.899 PM Back_Yard MOTION_A
0 3/14/2023 4:39:21.202 PM Back_Yard AI: [ipcam-dark] Car:89% [709,83 829,143] 179ms
0 3/14/2023 4:39:21.202 PM Back_Yard AI: [ipcam-dark] Car:74% [659,64 730,100] 179ms
0 3/14/2023 4:39:21.202 PM Back_Yard AI: [ipcam-dark] Car:56% [808,77 855,144] 179ms
3 3/14/2023 4:39:23.585 PM Front_Yard MOTION_A
3 3/14/2023 4:39:27.067 PM Doorbell MOTION_A
1 3/14/2023 4:39:43.639 PM Prater_111 Signal: Failed to connect
1 3/14/2023 4:39:50.463 PM Prater_111 Signal: network retry
2 3/14/2023 4:39:53.790 PM Front_Yard AI: timeout
1 3/14/2023 4:39:53.791 PM Front_Yard AI: Alert cancelled [AI: timeout] 30004ms
2 3/14/2023 4:39:57.277 PM Doorbell AI: timeout
1 3/14/2023 4:39:57.277 PM Doorbell AI: Alert cancelled [AI: timeout] 30005ms
3 3/14/2023 4:40:00.852 PM Prater MOTION_A
3 3/14/2023 4:40:05.045 PM Back_Yard MOTION_A
1 3/14/2023 4:40:13.397 PM Prater_111 Signal: Failed to connect
1 3/14/2023 4:40:20.716 PM Prater_111 Signal: network retry
2 3/14/2023 4:40:28.079 PM Front_Yard AI: timeout
1 3/14/2023 4:40:28.079 PM Front_Yard AI: Alert cancelled [AI: timeout] 30005ms
2 3/14/2023 4:40:30.965 PM Prater AI: timeout
1 3/14/2023 4:40:30.966 PM Prater AI: Alert cancelled [AI: timeout] 30001ms
2 3/14/2023 4:40:35.268 PM Back_Yard AI: timeout
1 3/14/2023 4:40:35.269 PM Back_Yard AI: Alert cancelled [AI: timeout] 30103ms
1 3/14/2023 4:40:43.493 PM Prater_111 Signal: Failed to connect
3 3/14/2023 4:40:48.567 PM Front_Yard MOTION_A
1 3/14/2023 4:40:50.865 PM Prater_111 Signal: network retry
3 3/14/2023 4:40:52.760 PM Doorbell MOTION_A
3 3/14/2023 4:40:55.194 PM Prater MOTION_A
3 3/14/2023 4:41:00.365 PM Back_Yard MOTION_A
1 3/14/2023 4:41:13.896 PM Prater_111 Signal: Failed to connect
2 3/14/2023 4:41:18.772 PM Front_Yard AI: not responding
1 3/14/2023 4:41:18.772 PM Front_Yard AI: Alert cancelled [AI: not responding] 30005ms
1 3/14/2023 4:41:20.765 PM Prater_111 Signal: network retry
2 3/14/2023 4:41:22.919 PM Doorbell AI: timeout
1 3/14/2023 4:41:22.920 PM Doorbell AI: Alert cancelled [AI: timeout] 30006ms
2 3/14/2023 4:41:25.302 PM Prater AI: not responding
1 3/14/2023 4:41:25.303 PM Prater AI: Alert cancelled [AI: not responding] 30001ms
2 3/14/2023 4:41:30.475 PM Back_Yard AI: timeout
1 3/14/2023 4:41:30.476 PM Back_Yard AI: Alert cancelled [AI: timeout] 30005ms
1 3/14/2023 4:41:43.641 PM Prater_111 Signal: Failed to connect
1 3/14/2023 4:41:51.094 PM Prater_111 Signal: network retry
1 3/14/2023 4:42:14.053 PM Prater_111 Signal: Failed to connect
3 3/14/2023 4:42:14.316 PM Doorbell MOTION_A
3 3/14/2023 4:42:15.986 PM Front_Yard MOTION_A
1 3/14/2023 4:42:21.246 PM Prater_111 Signal: network retry
1 3/14/2023 4:42:44.123 PM Prater_111 Signal: Failed to connect
2 3/14/2023 4:42:44.538 PM Doorbell AI: not responding
1 3/14/2023 4:42:44.538 PM Doorbell AI: Alert cancelled [AI: not responding] 30010ms
2 3/14/2023 4:42:46.189 PM Front_Yard AI: not responding
1 3/14/2023 4:42:46.189 PM Front_Yard AI: Alert cancelled [AI: not responding] 30004ms
1 3/14/2023 4:42:51.199 PM Prater_111 Signal: network retry
3 3/14/2023 4:42:57.738 PM Front_Yard MOTION_A
1 3/14/2023 4:43:14.206 PM Prater_111 Signal: Failed to connect
1 3/14/2023 4:43:21.526 PM Prater_111 Signal: network retry
2 3/14/2023 4:43:27.851 PM Front_Yard AI: not responding
1 3/14/2023 4:43:27.853 PM Front_Yard AI: Alert cancelled [AI: not responding] 30004ms
1 3/14/2023 4:43:44.265 PM Prater_111 Signal: Failed to connect
0 3/14/2023 4:43:50.576 PM New Move: nothing to do [39.5G/41.0G, 791.5G free]
0 3/14/2023 4:43:50.576 PM Stored Move: nothing to do [69.2G/70.0G, 791.5G free]
0 3/14/2023 4:43:50.979 PM Alerts Delete: 12 items 23.2M [0/720 hrs, 30.5G/30.0G, 791.5G free] 63646 locked
0 3/14/2023 4:43:50.979 PM AIInput Delete: nothing to do [0/24 hrs, 0B/1.00G, 791.5G free]
1 3/14/2023 4:43:51.647 PM Prater_111 Signal: network retry
1 3/14/2023 4:44:14.665 PM Prater_111 Signal: Failed to connect
1 3/14/2023 4:44:21.593 PM Prater_111 Signal: network retry
1 3/14/2023 4:44:44.411 PM Prater_111 Signal: Failed to connect
1 3/14/2023 4:44:51.983 PM Prater_111 Signal: network retry
1 3/14/2023 4:45:14.823 PM Prater_111 Signal: Failed to connect
1 3/14/2023 4:45:21.921 PM Prater_111 Signal: network retry
1 3/14/2023 4:45:44.913 PM Prater_111 Signal: Failed to connect
1 3/14/2023 4:45:52.319 PM Prater_111 Signal: network retry
1 3/14/2023 4:46:15.338 PM Prater_111 Signal: Failed to connect
1 3/14/2023 4:46:22.405 PM Prater_111 Signal: network retry
3 3/14/2023 4:46:41.255 PM Front_Yard MOTION_A
1 3/14/2023 4:46:45.415 PM Prater_111 Signal: Failed to connect
3 3/14/2023 4:46:47.221 PM Prater MOTION_A
3 3/14/2023 4:46:51.828 PM Back_Yard MOTION_A
1 3/14/2023 4:46:52.263 PM Prater_111 Signal: network retry
2 3/14/2023 4:47:11.459 PM Front_Yard AI: not responding
1 3/14/2023 4:47:11.460 PM Front_Yard AI: Alert cancelled [AI: not responding] 30006ms
1 3/14/2023 4:47:15.156 PM Prater_111 Signal: Failed to connect
2 3/14/2023 4:47:17.424 PM Prater AI: timeout
1 3/14/2023 4:47:17.425 PM Prater AI: Alert cancelled [AI: timeout] 30002ms
3 3/14/2023 4:47:18.557 PM Doorbell MOTION_A
3 3/14/2023 4:47:19.102 PM Front_Yard MOTION_A
2 3/14/2023 4:47:22.031 PM Back_Yard AI: not responding
1 3/14/2023 4:47:22.032 PM Back_Yard AI: Alert cancelled [AI: not responding] 30004ms

I initially thought this had something to do with a camera that I added earlier and then powered down, but that camera was powered down about 4 hours earlier.

So, apparently, something began using memory, Blue Iris kept recording until it stopped recording at about 12:30 am the today. The operating system then stopped. At 4:15 am, I had no user interface, I had to manually shut down the machine and restart it.
When I restarted, Code Project apparently was not running yet.
This could be related to Windows "Patch Tuesday"??

I have read some posts in IPCam, that some people are seeing that after a number of images analysed, that Code Project just stops. I'm not sure about this.

So for now, I have rolled Blue Iris back to version 5.6.8.4, which I believe is the last stable version that does not have the tight integration with Code Project. This version allows one to manually specify the location of the custom models. I am back to using the Jetson Nano with Ubuntu version 18.04 and Deepstack ver jetpack.2021.06.01.

I had been keeping Blue Iris on critical or highly stable versions, but the last one apparently ties me to Code Project.

FYI, here is the startup info from the Code Project startup this morning:
(I only have 4 daily logs available as of now. It ran for several days.)

2023-03-15 04:20:53: ** Operating System: Windows (Microsoft Windows 10.0.19045)
2023-03-15 04:20:53: ** CPUs: 1 CPU x 4 cores. 4 logical processors (x64)
2023-03-15 04:20:53: ** GPU: Intel(R) HD Graphics 630 (1,024 MiB) (Intel Corporation)
2023-03-15 04:20:53: ** Driver: 31.0.101.2111
2023-03-15 04:20:53: ** System RAM: 16 GiB
2023-03-15 04:20:53: ** Target: Windows
2023-03-15 04:20:53: ** BuildConfig: Release
2023-03-15 04:20:53: ** Execution Env: Native
2023-03-15 04:20:53: ** Runtime Env: Production
2023-03-15 04:20:53: ** .NET framework: .NET 7.0.3
2023-03-15 04:20:53: ** App DataDir: C:\ProgramData\CodeProject\AI
2023-03-15 04:21:00: System GPU info:
2023-03-15 04:21:00: GPU 3D Usage 2%
2023-03-15 04:21:00: GPU RAM Usage 0
2023-03-15 04:21:00: Video adapter info:
2023-03-15 04:21:00: Intel(R) HD Graphics 630:
2023-03-15 04:21:00: Adapter RAM 1,024 MiB
2023-03-15 04:21:00: Driver Version 31.0.101.2111
2023-03-15 04:21:00: Video Processor Intel(R) HD Graphics Family
2023-03-15 04:21:00: ------------------------------------------------------------------
2023-03-15 04:21:00: ROOT_PATH = C:\Program Files\CodeProject\AI
2023-03-15 04:21:00: MODULES_PATH = C:\Program Files\CodeProject\AI\AnalysisLayer
2023-03-15 04:21:00: DOWNLOADED_MODULES_PATH = C:\Program Files\CodeProject\AI\modules
2023-03-15 04:21:00: PYTHON_BASEPATH = C:\Program Files\CodeProject\AI\AnalysisLayer\bin\windows\%PYTHON_RUNTIME%\venv
2023-03-15 04:21:00: PYTHON_PATH = C:\Program Files\CodeProject\AI\AnalysisLayer\bin\windows\%PYTHON_RUNTIME%\venv\scripts\Python
2023-03-15 04:21:00: Temp Dir: C:\Windows\TEMP\
2023-03-15 04:21:00: Data Dir: C:\ProgramData\CodeProject\AI
2023-03-15 04:21:00: ------------------------------------------------------------------
2023-03-15 04:21:00: ModuleRunner Start
2023-03-15 04:21:00: Starting Background AI Modules
2023-03-15 04:21:01: Client request 'list-custom' in the queue (#reqid 50c3694f-4406-4792-8466-ccbd68d75b52)
2023-03-15 04:21:03: Starting "C:\Program Files...ionNet\ObjectDetectionNet.exe"
2023-03-15 04:21:03:
2023-03-15 04:21:03: ** Module 'Object Detection (YOLOv5 .NET)' (ID: ObjectDetectionNet)
2023-03-15 04:21:03: ** Active: True
2023-03-15 04:21:03: ** GPU: Support enabled
2023-03-15 04:21:03: ** Parallelism: 0
2023-03-15 04:21:03: ** Platforms: windows,linux,linux-arm64,macos,macos-arm64
2023-03-15 04:21:03: ** FilePath: ObjectDetectionNet.exe
2023-03-15 04:21:03: ** ModulePath: ObjectDetectionNet
2023-03-15 04:21:03: ** Install: PreInstalled
2023-03-15 04:21:03: ** Runtime: execute
2023-03-15 04:21:03: ** Queue: objectdetection_queue
2023-03-15 04:21:03: ** Start pause: 1 sec
2023-03-15 04:21:03: ** Valid: True
2023-03-15 04:21:03: ** Environment Variables
2023-03-15 04:21:03: ** CUSTOM_MODELS_DIR = %CURRENT_MODULE_PATH%\custom-models
2023-03-15 04:21:03: ** MODELS_DIR = %CURRENT_MODULE_PATH%\assets
2023-03-15 04:21:03: ** MODEL_SIZE = medium
2023-03-15 04:21:03:
2023-03-15 04:21:03: Started Object Detection (YOLOv5 .NET) module
2023-03-15 04:21:04: ObjectDetectionNet.exe: Application started. Press Ctrl+C to shut down.
2023-03-15 04:21:04: ObjectDetectionNet.exe: Hosting environment: Production
2023-03-15 04:21:04: ObjectDetectionNet.exe: Content root path: C:\Program Files\CodeProject\AI\AnalysisLayer\ObjectDetectionNet
2023-03-15 04:21:04: Installing Initial Modules.
2023-03-15 04:21:05: ObjectDetectionNet.exe: Please ensure you don't enable this module along side any other Object Detection module using the 'vision/detection' route and 'objectdetection_queue' queue (eg. ObjectDetectionYolo). There will be conflicts
2023-03-15 04:21:05: Object Detection (Net): Object Detection (Net) module started. in Object Detection (Net)
2023-03-15 04:21:05: Request 'list-custom' dequeued for processing (#reqid 50c3694f-4406-4792-8466-ccbd68d75b52)
2023-03-15 04:21:06: Object Detection (Net): Command completed in 33 ms. (command timing) in Object Detection (Net)
2023-03-15 04:21:06: Response received (#reqid 50c3694f-4406-4792-8466-ccbd68d75b52)
2023-03-15 04:21:06: Latest version available is 2.0.8-Beta
2023-03-15 04:21:06: Current Version is 2.0.8-Beta
2023-03-15 04:21:06: Server: This is the latest version
2023-03-15 04:21:08: Latest version available is 2.0.8-Beta
2023-03-15 04:21:11: Client request 'custom' in the queue (#reqid 1e92ce5f-9878-4ea7-b73f-a0a19fbafdbc)
2023-03-15 04:21:11: Request 'custom' dequeued for processing (#reqid 1e92ce5f-9878-4ea7-b73f-a0a19fbafdbc)
2023-03-15 04:21:11: Client request 'custom' in the queue (#reqid 05b41913-fb36-4e40-99ac-443d67af8a33)
2023-03-15 04:21:11: Request 'custom' dequeued for processing (#reqid 05b41913-fb36-4e40-99ac-443d67af8a33)
2023-03-15 04:21:11: Client request 'custom' in the queue (#reqid 106d100d-b9b0-424d-9d73-b7d13118a254)
2023-03-15 04:21:11: Request 'custom' dequeued for processing (#reqid 106d100d-b9b0-424d-9d73-b7d13118a254)
2023-03-15 04:21:11: Request 'custom' dequeued for processing (#reqid 2e2d359a-6ae7-4ff9-b0af-6ab55f09f7ca)
2023-03-15 04:21:11: Client request 'custom' in the queue (#reqid 2e2d359a-6ae7-4ff9-b0af-6ab55f09f7ca)
2023-03-15 04:21:11: Client request 'custom' in the queue (#reqid 6eef68f1-0928-4346-9fee-a72826a9c5ad)
2023-03-15 04:21:14: Client request 'custom' in the queue (#reqid 20add6d3-7e6d-487b-b66a-4d85d60c5aba)
2023-03-15 04:23:11: Client request 'custom' in the queue (#reqid abd6c62f-b767-4a7f-b385-d8e92b2e3eb7)
2023-03-15 04:23:11: Client request 'custom' in the queue (#reqid bd6ed854-c9f8-4810-b5e2-dd0ded56086d)
2023-03-15 04:23:12: Client request 'custom' in the queue (#reqid d069e6ec-e1ba-4edd-ba67-bcb874c28cd6)
2023-03-15 04:23:12: Client request 'custom' in the queue (#reqid 058d46da-9b84-4a5f-ba39-9457695ea4fe)
2023-03-15 04:23:12: Client request 'custom' in the queue (#reqid 6b37165e-0618-4916-8e06-f3ba5b883b6f)
2023-03-15 04:23:12: Client request 'custom' in the queue (#reqid d92a671f-1d1e-4d9c-87cc-247612d934bf)
2023-03-15 04:23:34: Object Detection (Net): Command completed in 142798 ms. (command timing) in Object Detection (Net)

Thanks;

Steve
AnswerRe: CodeProject.AI stopped... Pin
Chris Maunder16-Mar-23 9:57
cofounderChris Maunder16-Mar-23 9:57 
GeneralRe: CodeProject.AI stopped... Pin
Steve Winn16-Mar-23 11:04
Steve Winn16-Mar-23 11:04 
QuestionAdding 600+ faces in Blue Iris Pin
ecsproull14-Mar-23 17:33
ecsproull14-Mar-23 17:33 
AnswerRe: Adding 600+ faces in Blue Iris Pin
Member 1349459515-Mar-23 10:50
Member 1349459515-Mar-23 10:50 
AnswerIntermittent Connection Refused Pin
Village Guy14-Mar-23 10:50
Village Guy14-Mar-23 10:50 
AnswerRe: Intermittent Connection Refused Pin
Village Guy14-Mar-23 18:36
Village Guy14-Mar-23 18:36 
GeneralRe: Intermittent Connection Refused Pin
Village Guy15-Mar-23 4:56
Village Guy15-Mar-23 4:56 
AnswerRe: Intermittent Connection Refused Pin
Village Guy15-Mar-23 19:17
Village Guy15-Mar-23 19:17 
QuestionThis is what happens when you're left alone in your car for 2hrs with a laptop Pin
Chris Maunder11-Mar-23 11:21
cofounderChris Maunder11-Mar-23 11:21 
AnswerRe: This is what happens when you're left alone in your car for 2hrs with a laptop Pin
MnM000711-Mar-23 18:29
MnM000711-Mar-23 18:29 
AnswerRe: This is what happens when you're left alone in your car for 2hrs with a laptop Pin
CJ Davis14-Mar-23 10:27
CJ Davis14-Mar-23 10:27 
AnswerRe: This is what happens when you're left alone in your car for 2hrs with a laptop Pin
Member 1571860316-Mar-23 6:20
Member 1571860316-Mar-23 6:20 
GeneralRe: This is what happens when you're left alone in your car for 2hrs with a laptop Pin
Chris Maunder16-Mar-23 16:56
cofounderChris Maunder16-Mar-23 16:56 
QuestionVideo Review & ALPR Pin
Member 1587624110-Mar-23 6:26
Member 1587624110-Mar-23 6:26 
BugRe: Video Review & ALPR Pin
Member 1587624117-Mar-23 10:05
Member 1587624117-Mar-23 10:05 
GeneralRe: Video Review & ALPR Pin
Mike Lud17-Mar-23 11:09
communityengineerMike Lud17-Mar-23 11:09 
GeneralRe: Video Review & ALPR Pin
Member 1587624117-Mar-23 12:51
Member 1587624117-Mar-23 12:51 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Flags: Answered

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.