diff --git a/README.md b/README.md
index 5bb6e349e..504b4cf5e 100644
--- a/README.md
+++ b/README.md
@@ -1,17 +1,17 @@
# ADI MAX78000/MAX78002 Model Training and Synthesis
-April 5, 2024
+April 19, 2024
ADI’s MAX78000/MAX78002 project is comprised of five repositories:
1. **Start here**:
- **[Top Level Documentation](https://github.com/MaximIntegratedAI/MaximAI_Documentation)**
+ **[Top Level Documentation](https://github.com/analogdevicesinc/MaximAI_Documentation)**
2. The software development kit (MSDK), which contains drivers and example programs ready to run on the evaluation kits (EVkit and Feather):
[Analog Devices MSDK](https://github.com/analogdevicesinc/msdk)
3. The training repository, which is used for deep learning *model development and training*:
- [ai8x-training](https://github.com/MaximIntegratedAI/ai8x-training) **(described in this document)**
+ [ai8x-training](https://github.com/analogdevicesinc/ai8x-training) **(described in this document)**
4. The synthesis repository, which is used to *convert a trained model into C code* using the “izer” tool:
- [ai8x-synthesis](https://github.com/MaximIntegratedAI/ai8x-synthesis) **(described in this document)**
+ [ai8x-synthesis](https://github.com/analogdevicesinc/ai8x-synthesis) **(described in this document)**
5. The reference design repository, which contains host applications and sample applications for reference designs such as [MAXREFDES178 (Cube Camera)](https://www.analog.com/en/design-center/reference-designs/maxrefdes178.html):
[refdes](https://github.com/analogdevicesinc/MAX78xxx-RefDes)
*Note: Examples for EVkits and Feather boards are part of the MSDK*
@@ -73,15 +73,15 @@ Limited support and advice for using other hardware and software combinations is
**The only officially supported platforms for model training** are Ubuntu Linux 20.04 LTS and 22.04 LTS on amd64/x86_64, either the desktop or the [server version](https://ubuntu.com/download/server).
-*Note that hardware acceleration using CUDA is not available in PyTorch for Raspberry Pi 4 and other aarch64/arm64 devices, even those running Ubuntu Linux 20.04/22.04. See also [Development on Raspberry Pi 4 and 400](https://github.com/MaximIntegratedAI/ai8x-synthesis/blob/develop/docs/RaspberryPi.md) (unsupported).*
+*Note that hardware acceleration using CUDA is not available in PyTorch for Raspberry Pi 4 and other aarch64/arm64 devices, even those running Ubuntu Linux 20.04/22.04. See also [Development on Raspberry Pi 4 and 400](https://github.com/analogdevicesinc/ai8x-synthesis/blob/develop/docs/RaspberryPi.md) (unsupported).*
This document also provides instructions for installing on RedHat Enterprise Linux / CentOS 8 with limited support.
##### Windows
-On Windows 10 version 21H2 or newer, and Windows 11, after installing the Windows Subsystem for Linux (WSL2), Ubuntu Linux 20.04 or 22.04 can be used inside Windows with full CUDA acceleration, please see *[Windows Subsystem for Linux](https://github.com/MaximIntegratedAI/ai8x-synthesis/blob/develop/docs/WSL2.md).* For the remainder of this document, follow the steps for Ubuntu Linux.
+On Windows 10 version 21H2 or newer, and Windows 11, after installing the Windows Subsystem for Linux (WSL2), Ubuntu Linux 20.04 or 22.04 can be used inside Windows with full CUDA acceleration, please see *[Windows Subsystem for Linux](https://github.com/analogdevicesinc/ai8x-synthesis/blob/develop/docs/WSL2.md).* For the remainder of this document, follow the steps for Ubuntu Linux.
-If WSL2 is not available, it is also possible (but not recommended due to inherent compatibility issues and slightly degraded performance) to run this software natively on Windows. Please see *[Native Windows Installation](https://github.com/MaximIntegratedAI/ai8x-synthesis/blob/develop/docs/Windows.md)*.
+If WSL2 is not available, it is also possible (but not recommended due to inherent compatibility issues and slightly degraded performance) to run this software natively on Windows. Please see *[Native Windows Installation](https://github.com/analogdevicesinc/ai8x-synthesis/blob/develop/docs/Windows.md)*.
##### macOS
@@ -137,7 +137,7 @@ Ctrl+A,D to disconnect
The following software is optional, and can be replaced with other similar software of the user’s choosing.
1. Code Editor
- Visual Studio Code, or the VSCodium version, , with the “Remote - SSH” plugin; *to use Visual Studio Code on Windows as a full development environment (including debug), see *
+ Visual Studio Code, or the VSCodium version, , with the “Remote - SSH” plugin; *to use Visual Studio Code on Windows as a full development environment (including debug), see *
Sublime Text,
2. Markdown Editor
Typora,
@@ -309,7 +309,7 @@ $ git config --global user.name "First Last"
#### Nervana Distiller
-[Nervana Distiller](https://github.com/MaximIntegratedAI/distiller) is automatically installed as a git sub-module with the other packages. Distiller is used for its scheduling and model export functionality.
+[Nervana Distiller](https://github.com/analogdevicesinc/distiller) is automatically installed as a git sub-module with the other packages. Distiller is used for its scheduling and model export functionality.
### Upstream Code
@@ -317,8 +317,8 @@ Change to the project root and run the following commands. Use your GitHub crede
```shell
$ cd
-$ git clone --recursive https://github.com/MaximIntegratedAI/ai8x-training.git
-$ git clone --recursive https://github.com/MaximIntegratedAI/ai8x-synthesis.git
+$ git clone --recursive https://github.com/analogdevicesinc/ai8x-training.git
+$ git clone --recursive https://github.com/analogdevicesinc/ai8x-synthesis.git
```
#### Creating the Virtual Environment
@@ -585,7 +585,7 @@ The MSDK is also available as a [git repository](https://github.com/analogdevice
$ pacman -S --needed base filesystem msys2-runtime make
```
-5. Install packages for OpenOCD. OpenOCD binaries are available in the “openocd” sub-folder of the ai8x-synthesis repository. However, some additional dependencies are required on most systems. See [openocd/README.md](https://github.com/MaximIntegratedAI/ai8x-synthesis/blob/develop/openocd/README.md) for a list of packages to install, then return here to continue.
+5. Install packages for OpenOCD. OpenOCD binaries are available in the “openocd” sub-folder of the ai8x-synthesis repository. However, some additional dependencies are required on most systems. See [openocd/README.md](https://github.com/analogdevicesinc/ai8x-synthesis/blob/develop/openocd/README.md) for a list of packages to install, then return here to continue.
6. Add the location of the toolchain binaries to the system path.
@@ -738,7 +738,7 @@ The number of discarded pixels is network specific and dependent on pooling stri
*Note: Streaming mode requires the use of [FIFOs](#fifos).*
-For concrete examples on how to implement streaming mode with a camera, please see the [Camera Streaming Guide](https://github.com/MaximIntegratedAI/MaximAI_Documentation/blob/main/Guides/Camera_Streaming_Guide.md).
+For concrete examples on how to implement streaming mode with a camera, please see the [Camera Streaming Guide](https://github.com/analogdevicesinc/MaximAI_Documentation/blob/main/Guides/Camera_Streaming_Guide.md).
#### FIFOs
@@ -2014,7 +2014,7 @@ While there can be multiple reasons for this, check two important settings that
#### Introduction
-The following chapter describes the neural architecture search (NAS) solution for MAX78000/MAX78002 as implemented in the [ai8x-training](https://github.com/MaximIntegratedAI/ai8x-training) repository. Details are provided about the NAS method, how to run existing NAS models in the repository, and how to define a new NAS model.
+The following chapter describes the neural architecture search (NAS) solution for MAX78000/MAX78002 as implemented in the [ai8x-training](https://github.com/analogdevicesinc/ai8x-training) repository. Details are provided about the NAS method, how to run existing NAS models in the repository, and how to define a new NAS model.
The intention of NAS is to find the best neural architecture for a given set of requirements by automating architecture engineering. NAS explores the search space automatically and returns an architecture that is hard to optimize further using human or “manual” design. Multiple different techniques are proposed in the literature for automated architecture search, including reinforcement-based and evolutionary-based solutions.
@@ -2087,7 +2087,7 @@ The only model architecture implemented in this repository is the sequential mod
-All required elastic search strategies are implemented in this [model file](https://github.com/MaximIntegratedAI/ai8x-training/blob/develop/models/ai85nasnet-sequential.py).
+All required elastic search strategies are implemented in this [model file](https://github.com/analogdevicesinc/ai8x-training/blob/develop/models/ai85nasnet-sequential.py).
A new model architecture can be implemented by implementing the `OnceForAllModel` interface. The new model class must implement the following:
@@ -2214,7 +2214,7 @@ The following table describes the most important command line arguments for `ai8
### YAML Network Description
-The [quick-start guide](https://github.com/MaximIntegratedAI/MaximAI_Documentation/blob/main/Guides/YAML%20Quickstart.md) provides a short overview of the purpose and structure of the YAML network description file.
+The [quick-start guide](https://github.com/analogdevicesinc/MaximAI_Documentation/blob/main/Guides/YAML%20Quickstart.md) provides a short overview of the purpose and structure of the YAML network description file.
If `yamllint` is installed and available in the shell path, it is automatically run against the configuration file and all warnings and errors are reported.
*Note: The name of the linter can be changed using the `--yamllint` command line argument.*
@@ -3029,7 +3029,7 @@ To run another inference, ensure all quadrants are disabled (stopping the state
The generated code is split between API code (in `cnn.c`) and data-dependent code in `main.c` or `main_riscv.c`. The data-dependent code is based on a known-answer test. The `main()` function shows the proper sequence of steps to load and configure the CNN accelerator, run it, unload it, and verify the result.
`void load_input(void);`
-Load the example input. This function can serve as a template for loading data into the CNN accelerator. Note that the clocks and power to the accelerator must be enabled first. If this is skipped, the device may appear to hang and the [recovery procedure](https://github.com/MaximIntegratedAI/MaximAI_Documentation/tree/main/MAX78000_Feather#how-to-unlock-a-max78000-that-can-no-longer-be-programmed) may have to be used.
+Load the example input. This function can serve as a template for loading data into the CNN accelerator. Note that the clocks and power to the accelerator must be enabled first. If this is skipped, the device may appear to hang and the [recovery procedure](https://github.com/analogdevicesinc/MaximAI_Documentation/tree/main/MAX78000_Feather#how-to-unlock-a-max78000-that-can-no-longer-be-programmed) may have to be used.
`int check_output(void);`
This function verifies that the known-answer test works correctly in hardware (using the example input). This function is typically not needed in the final application.
@@ -3223,7 +3223,7 @@ There can be many reasons why the known-answer test (KAT) fails for a given netw
* For very short and small networks, disable the use of WFI (wait for interrupt) instructions while waiting for completion of the CNN computations by using the command line option `--no-wfi`. *Explanation: In these cases, the network terminates more quickly than the time it takes between testing for completion and executing the WFI instruction, so the WFI instruction is never interrupted and the code may appear to hang.*
* The `--no-wfi` option can also be useful when trying to debug code, since the debugger loses connection when the device enters sleep mode using `__WFI()`.
* By default, there is a two-second delay at the beginning of the code. This time allows the debugger to take control before the device enters any kind of sleep mode. `--no-wfi` disables sleep mode (see also the related information [above](#known-answer-test-kat-console-does-not-print-passfail)). The time delay can be modified using the `--debugwait` option.
- If the delay is too short or skipped altogether, and the device does not wake at the end of execution, the device may appear to hang and the [recovery procedure](https://github.com/MaximIntegratedAI/MaximAI_Documentation/tree/main/MAX78000_Feather#how-to-unlock-a-max78000-that-can-no-longer-be-programmed) may have to be used in order to load new code or to debug code.
+ If the delay is too short or skipped altogether, and the device does not wake at the end of execution, the device may appear to hang and the [recovery procedure](https://github.com/analogdevicesinc/MaximAI_Documentation/tree/main/MAX78000_Feather#how-to-unlock-a-max78000-that-can-no-longer-be-programmed) may have to be used in order to load new code or to debug code.
* For very large and deep networks, enable the boost power supply using the `--boost` command line option. On the EVkit, the boost supply is connected to port pin P2.5, so the command line option is `--boost 2.5`.
* The default compiler optimization level is `-O2`, and incorrect code may be generated under rare circumstances. Lower the optimization level in the generated `Makefile` to `-O1`, clean (`make distclean && make clean`), and rebuild the project (`make`). If this solves the problem, one of the possible reasons is that code is missing the `volatile` keyword for certain variables.
To permanently adjust the default compiler optimization level, modify `MXC_OPTIMIZE_CFLAGS` in `assets/embedded-ai85/templateMakefile` for Arm code and `assets/embedded-riscv-ai85/templateMakefile.RISCV` for RISC-V code.
@@ -3264,17 +3264,17 @@ When running C code generated with `--energy`, the power display on the EVKit wi
*Note: MAX78000 uses LED1 and LED2 to trigger power measurement via MAX32625 and MAX34417.*
-See the [benchmarking guide](https://github.com/MaximIntegratedAI/MaximAI_Documentation/blob/main/Guides/MAX7800x%20Power%20Monitor%20and%20Energy%20Benchmarking%20Guide.pdf) for more information about benchmarking.
+See the [benchmarking guide](https://github.com/analogdevicesinc/MaximAI_Documentation/blob/main/Guides/MAX7800x%20Power%20Monitor%20and%20Energy%20Benchmarking%20Guide.pdf) for more information about benchmarking.
## Further Information
-Additional information about the evaluation kits, and the software development kit (MSDK) is available on the web at .
+Additional information about the evaluation kits, and the software development kit (MSDK) is available on the web at .
[AHB Addresses for MAX78000 and MAX78002](docs/AHBAddresses.md)
-[Facial Recognition System](https://github.com/MaximIntegratedAI/ai8x-training/blob/develop/docs/FacialRecognitionSystem.md)
+[Facial Recognition System](https://github.com/analogdevicesinc/ai8x-training/blob/develop/docs/FacialRecognitionSystem.md)
---
@@ -3306,6 +3306,6 @@ Do not try to push any changes into the main branch. Instead, create a fork and
*Note: After creating the fork, you must re-enable actions in the “Actions” tab of the repository on GitHub.*
The following document has more information:
-
+
---
diff --git a/README.pdf b/README.pdf
index 2ce47f2ea..0216a1d16 100644
Binary files a/README.pdf and b/README.pdf differ
diff --git a/models/model_irse_drl.py b/models/model_irse_drl.py
index ff0297c0b..d50774f44 100644
--- a/models/model_irse_drl.py
+++ b/models/model_irse_drl.py
@@ -19,7 +19,7 @@
###################################################################################################
"""
FaceID Teacher Model to be used for Knowledge Distillation
-See https://github.com/MaximIntegratedAI/ai8x-training/blob/develop/docs/FacialRecognitionSystem.md
+See https://github.com/analogdevicesinc/ai8x-training/blob/develop/docs/FacialRecognitionSystem.md
"""
import sys
from collections import namedtuple
diff --git a/notebooks/AutoEncoder_Evaluation.ipynb b/notebooks/AutoEncoder_Evaluation.ipynb
index 1b40d00d9..c836cf67f 100755
--- a/notebooks/AutoEncoder_Evaluation.ipynb
+++ b/notebooks/AutoEncoder_Evaluation.ipynb
@@ -15,7 +15,7 @@
"\"\"\"\n",
"For more details about the dataset, data loader, model and training,\n",
"please see the following documentation:\n",
- "https://github.com/MaximIntegratedAI/MaximAI_Documentation/blob/master/Guides/MAX78000%20Motor%20Monitoring%20Case%20Study%20with%20SampleMotorDataLimerick%20Dataset.pdf\n",
+ "https://github.com/analogdevicesinc/MaximAI_Documentation/blob/master/Guides/MAX78000%20Motor%20Monitoring%20Case%20Study%20with%20SampleMotorDataLimerick%20Dataset.pdf\n",
"\"\"\"\n",
"import os\n",
"import sys\n",