Difference between revisions of "Jetson Orin Nano"

From Simon's Help System
Jump to navigation Jump to search
(Created page with "You want to change line 114 in opencv/modules/dnn/src/cuda4dnn/primitives/normalize_bbox.hpp: from: if (weight != 1.0) to: if (weight != static_cast<T>(1.0)) As well as line 124 in opencv/modules/dnn/src/cuda4dnn/primitives/region.hpp (due to a similar error): from: if (nms_iou_threshold > 0) { to: if (nms_iou_threshold > static_cast<T>(0)) { Explanation: Since both variables, weight and nms_iou_threshold, are templated and finally boil down to a primitive type during...")
 
Line 1: Line 1:
You want to change line 114 in opencv/modules/dnn/src/cuda4dnn/primitives/normalize_bbox.hpp:
You want to change line 114 in opencv/modules/dnn/src/cuda4dnn/primitives/normalize_bbox.hpp:
from:
from:
if (weight != 1.0)
<pre>
if (weight != 1.0)</pre>
to:
to:
if (weight != static_cast<T>(1.0))
<pre>
if (weight != static_cast<T>(1.0))</pre>


As well as line 124 in opencv/modules/dnn/src/cuda4dnn/primitives/region.hpp (due to a similar error):
As well as line 124 in opencv/modules/dnn/src/cuda4dnn/primitives/region.hpp (due to a similar error):
from:
from:
if (nms_iou_threshold > 0) {
<pre>
if (nms_iou_threshold > 0) {</pre>
to:
to:
if (nms_iou_threshold > static_cast<T>(0)) {
<pre>
if (nms_iou_threshold > static_cast<T>(0)) {</pre>


Explanation:
Explanation:
Since both variables, weight and nms_iou_threshold, are templated and finally boil down to a primitive type during compilation, it is meaningful to use a static_cast to convert the respective constant (1.0 (by default double) and 0 (by default int)) to the template type. Based on the operator candidates the required types should all be compatible, i.e., the constant values are safe to be casted to the target template type.
Since both variables, weight and nms_iou_threshold, are templated and finally boil down to a primitive type during compilation, it is meaningful to use a static_cast to convert the respective constant (1.0 (by default double) and 0 (by default int)) to the template type. Based on the operator candidates the required types should all be compatible, i.e., the constant values are safe to be casted to the target template type.

Revision as of 14:05, 21 January 2024

You want to change line 114 in opencv/modules/dnn/src/cuda4dnn/primitives/normalize_bbox.hpp: from:

if (weight != 1.0)

to:

if (weight != static_cast<T>(1.0))

As well as line 124 in opencv/modules/dnn/src/cuda4dnn/primitives/region.hpp (due to a similar error): from:

if (nms_iou_threshold > 0) {

to:

if (nms_iou_threshold > static_cast<T>(0)) {

Explanation: Since both variables, weight and nms_iou_threshold, are templated and finally boil down to a primitive type during compilation, it is meaningful to use a static_cast to convert the respective constant (1.0 (by default double) and 0 (by default int)) to the template type. Based on the operator candidates the required types should all be compatible, i.e., the constant values are safe to be casted to the target template type.