## 2 Materials and Methods
### Research Methodology
#### 2.3.4 Description of the Criteria Performance Tests  
All tests were conducted with one connected Ilyama PL2770 QS monitor with a resolution of 2560 \(\times\) 1440 and a refresh rate of 165 Hz via a DisplayPort cable. The operating system used is Ubuntu 22.04. The graphics card monitoring software used is amd-smi [61] for AMD, xpumcli [62] for Intel, and nvidia-smi [63] for Nvidia. A description of the criteria benchmarking is provided below.  
1. Compatibility criteria: Compatibility validation was performed based on the available documentation for the framework, and the AI library was designed to work with the graphics card. An attempt was made to run calculations for each of the frameworks to confirm compatibility.
2. Idle power criterion: The computer launched the PyCharm Community IDE and the terminal. Then, a tool was run to monitor the status of the graphics card at a frequency of 1 Hz and write to a file. The test was conducted for 10 min, after which the measurement was manually interrupted. The result of the measurement is the average power reported by the monitoring software.
3. Learning energy efficiency criteria: Two instances of the terminal were launched; the first activated the virtual Python environment [64] with the necessary libraries installed. Then, a program written in Python was launched, which used the framework to start the learning process. To measure the learning rate, tools built into the framework were used, which return the calculation rate of one epoch of the neural network model's training. The time used for calculation was the arithmetic average of all epoch times. Training of each neural network model was conducted for 30 epochs. During the learning process, a record of electricity consumption measurement was launched on the second terminal. Energy efficiency was determined according to the following formula: \[\text{E}_{ij}\left[\frac{\text{epochs}}{\text{kJ}}\right]=\frac{1000}{\text{P} _{ij}[\text{W}]\cdot\text{T}_{ij}[\text{s}]}\] (4) where \[\text{E}_{ij}\] is the energy efficiency expressed in epochs per kilojoule of energy; \[\text{P}_{ij}\] is the average power of the graphics card reported by the monitoring software in watts; \[\text{T}_{ij}\] is the average time of one epoch in seconds.
4. Inference energy efficiency criteria: The tests were carried out similarly to the learning efficiency tests, with the Python virtual environment running on one terminal for each criterion and the measurement of electricity consumption on the other. The program written in Python was designed to check a test set of photos using an already trained neural network model, determining the time allocated to the inference of each file. In order to minimize the impact of the speed of reading images from a disk, the entire test set was first loaded into RAM, and only then was the processing speed measured.  
The time used to determine the energy efficiency was the average of all inference times of the test set. Energy efficiency was determined according to the following formula:  
\[\mathrm{E}_{ij}\left[\frac{\mathrm{images}}{\mathrm{k}\mathrm{j}}\right]=\frac{1000 }{\mathrm{P}_{ij}[W]\cdot\mathrm{T}_{ij}[\mathrm{s}]} \tag{5}\]  
where  
\(\mathrm{E}_{ij}\) is the energy efficiency of inference, i.e., the number of processed images per kilojoule of energy;  
\(\mathrm{P}_{ij}\) is the average power reported by the monitoring software in watts;  
\(\mathrm{T}_{ij}\) is the average inference time of one image expressed in seconds.  
5. The criterion of the technology entry threshold: Based on the list of available graphics card models in the model line of a given manufacturer, the lowest model of the graphics card offered by the manufacturer of the graphics chip was determined. These were AMD Radeon RX 7600 [65], Intel ARC A310 [66], and Nvidia-GeForce RTX 4060 [67]. Then, the price of the cheapest graphics card was determined for these chips using a price comparison website [68].