Referência para ultralytics/utils/ops.py
Nota
Este ficheiro está disponível em https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/ops .py. Se encontrares um problema, por favor ajuda a corrigi-lo contribuindo com um Pull Request 🛠️. Obrigado 🙏!
ultralytics.utils.ops.Profile
Bases: ContextDecorator
YOLOv8 Classe de perfil. Utiliza como um decorador com @Profile() ou como um gestor de contexto com 'with Profile():'.
Exemplo
Código fonte em ultralytics/utils/ops.py
__enter__()
__exit__(type, value, traceback)
__init__(t=0.0, device=None)
Inicializa a classe Profile.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
t |
float
|
Tempo inicial. Predefine-se como 0,0. |
0.0
|
device |
device
|
Dispositivos utilizados para a inferência do modelo. A predefinição é Nenhum (cpu). |
None
|
Código fonte em ultralytics/utils/ops.py
__str__()
Devolve uma cadeia de caracteres legível por humanos que representa o tempo decorrido acumulado no criador de perfil.
ultralytics.utils.ops.segment2box(segment, width=640, height=640)
Converte 1 rótulo de segmento em 1 rótulo de caixa, aplicando a restrição de imagem interior, ou seja, (xy1, xy2, ...) para (xyxy).
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
segment |
Tensor
|
a etiqueta do segmento |
necessário |
width |
int
|
a largura da imagem. Por defeito, utiliza 640 |
640
|
height |
int
|
A altura da imagem. Usa como padrão 640 |
640
|
Devolve:
Tipo | Descrição |
---|---|
ndarray
|
os valores x e y mínimos e máximos do segmento. |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.scale_boxes(img1_shape, boxes, img0_shape, ratio_pad=None, padding=True, xywh=False)
Redimensiona as caixas delimitadoras (no formato xyxy por padrão) da forma da imagem em que foram originalmente especificada (img1_shape) para a forma de uma imagem diferente (img0_shape).
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
img1_shape |
tuple
|
A forma da imagem para a qual as caixas delimitadoras se destinam, no formato (altura, largura). |
necessário |
boxes |
Tensor
|
as caixas delimitadoras dos objectos na imagem, no formato (x1, y1, x2, y2) |
necessário |
img0_shape |
tuple
|
a forma da imagem alvo, no formato de (altura, largura). |
necessário |
ratio_pad |
tuple
|
uma tupla de (ratio, pad) para escalar as caixas. Se não for fornecido, o rácio e o pad serão calculados com base na diferença de tamanho entre as duas imagens. |
None
|
padding |
bool
|
Se for Verdadeiro, assume que as caixas são baseadas na imagem aumentada pelo estilo yolo . Se False, então faz um redimensiona. |
True
|
xywh |
bool
|
O formato da caixa é xywh ou não, predefinição=False. |
False
|
Devolve:
Nome | Tipo | Descrição |
---|---|---|
boxes |
Tensor
|
As caixas delimitadoras escaladas, no formato de (x1, y1, x2, y2) |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.make_divisible(x, divisor)
Devolve o número mais próximo que é divisível pelo divisor dado.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
x |
int
|
O número a tornar divisível. |
necessário |
divisor |
int | Tensor
|
O divisor. |
necessário |
Devolve:
Tipo | Descrição |
---|---|
int
|
O número mais próximo divisível pelo divisor. |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.nms_rotated(boxes, scores, threshold=0.45)
NMS para obbs, alimentado por probiou e fast-nms.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
boxes |
Tensor
|
(N, 5), xywhr. |
necessário |
scores |
Tensor
|
(N, ). |
necessário |
threshold |
float
|
Limiar IoU. |
0.45
|
Devolve:
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.non_max_suppression(prediction, conf_thres=0.25, iou_thres=0.45, classes=None, agnostic=False, multi_label=False, labels=(), max_det=300, nc=0, max_time_img=0.05, max_nms=30000, max_wh=7680, in_place=True, rotated=False)
Executa a supressão não máxima (NMS) num conjunto de caixas, com suporte para máscaras e várias etiquetas por caixa.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
prediction |
Tensor
|
Um tensor de forma (batch_size, num_classes + 4 + num_masks, num_boxes) contendo as caixas, classes e máscaras previstas. O tensor deve estar no formato produzido por um modelo, como YOLO. |
necessário |
conf_thres |
float
|
O limiar de confiança abaixo do qual as caixas serão filtradas. Os valores válidos são entre 0,0 e 1,0. |
0.25
|
iou_thres |
float
|
O limiar de IoU abaixo do qual as caixas serão filtradas durante o NMS. Os valores válidos são entre 0,0 e 1,0. |
0.45
|
classes |
List[int]
|
Uma lista de índices de classe a considerar. Se for Nenhum, todas as classes serão consideradas. |
None
|
agnostic |
bool
|
Se Verdadeiro, o modelo é agnóstico quanto ao número de classes, e todas as classes serão consideradas como uma só. |
False
|
multi_label |
bool
|
Se for Verdadeiro, cada caixa pode ter várias etiquetas. |
False
|
labels |
List[List[Union[int, float, Tensor]]]
|
Uma lista de listas, em que cada lista interior contém as etiquetas apriori para uma dada imagem. A lista deve estar no formato produzido por um dataloader, sendo cada etiqueta uma tupla de (class_index, x1, y1, x2, y2). |
()
|
max_det |
int
|
O número máximo de caixas a manter após o NMS. |
300
|
nc |
int
|
O número de classes produzidas pelo modelo. Quaisquer índices após este valor serão considerados máscaras. |
0
|
max_time_img |
float
|
O tempo máximo (segundos) para processar uma imagem. |
0.05
|
max_nms |
int
|
O número máximo de caixas em torchvision.ops.nms(). |
30000
|
max_wh |
int
|
A largura e altura máximas da caixa em pixéis. |
7680
|
in_place |
bool
|
Se for Verdadeiro, a previsão de entrada tensor será modificada no local. |
True
|
Devolve:
Tipo | Descrição |
---|---|
List[Tensor]
|
Uma lista de comprimento batch_size, em que cada elemento é um tensor de forma (num_caixas, 6 + num_máscaras) que contém as caixas mantidas, com colunas (x1, y1, x2, y2, confiança, classe, máscara1, máscara2, ...). |
Código fonte em ultralytics/utils/ops.py
162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 |
|
ultralytics.utils.ops.clip_boxes(boxes, shape)
Obtém uma lista de caixas delimitadoras e uma forma (altura, largura) e recorta as caixas delimitadoras para a forma.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
boxes |
Tensor
|
as caixas delimitadoras a recortar |
necessário |
shape |
tuple
|
a forma da imagem |
necessário |
Devolve:
Tipo | Descrição |
---|---|
Tensor | ndarray
|
Caixas cortadas |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.clip_coords(coords, shape)
Recorta as coordenadas da linha para os limites da imagem.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
coords |
Tensor | ndarray
|
Uma lista de coordenadas de linha. |
necessário |
shape |
tuple
|
Uma tupla de números inteiros que representam o tamanho da imagem no formato (altura, largura). |
necessário |
Devolve:
Tipo | Descrição |
---|---|
Tensor | ndarray
|
Coordenadas cortadas |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.scale_image(masks, im0_shape, ratio_pad=None)
Obtém uma máscara e redimensiona-a para o tamanho da imagem original.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
masks |
ndarray
|
redimensiona e preenche as máscaras/imagens, [h, w, num]/[h, w, 3]. |
necessário |
im0_shape |
tuple
|
a forma da imagem original |
necessário |
ratio_pad |
tuple
|
a relação entre o preenchimento e a imagem original. |
None
|
Devolve:
Nome | Tipo | Descrição |
---|---|---|
masks |
Tensor
|
As máscaras que estão a ser devolvidas. |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2xywh(x)
Converte as coordenadas da caixa delimitadora do formato (x1, y1, x2, y2) para o formato (x, y, largura, altura) onde (x1, y1) é o (x1, y1) é o canto superior esquerdo e (x2, y2) é o canto inferior direito.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
x |
ndarray | Tensor
|
As coordenadas da caixa delimitadora de entrada no formato (x1, y1, x2, y2). |
necessário |
Devolve:
Nome | Tipo | Descrição |
---|---|---|
y |
ndarray | Tensor
|
As coordenadas da caixa delimitadora no formato (x, y, largura, altura). |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.xywh2xyxy(x)
Converte as coordenadas da caixa delimitadora do formato (x, y, largura, altura) para o formato (x1, y1, x2, y2), em que (x1, y1) é o canto superior esquerdo e (x2, y2) é o canto inferior direito.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
x |
ndarray | Tensor
|
As coordenadas da caixa delimitadora de entrada no formato (x, y, largura, altura). |
necessário |
Devolve:
Nome | Tipo | Descrição |
---|---|---|
y |
ndarray | Tensor
|
As coordenadas da caixa delimitadora no formato (x1, y1, x2, y2). |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.xywhn2xyxy(x, w=640, h=640, padw=0, padh=0)
Converte as coordenadas normalizadas da caixa delimitadora em coordenadas de pixel.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
x |
ndarray | Tensor
|
As coordenadas da caixa delimitadora. |
necessário |
w |
int
|
Largura da imagem. Predefine-se como 640 |
640
|
h |
int
|
Altura da imagem. A predefinição é 640 |
640
|
padw |
int
|
Largura do preenchimento. Predefine-se como 0 |
0
|
padh |
int
|
Altura do preenchimento. Predefinição: 0 |
0
|
Retorna: y (np.ndarray | torch.Tensor): As coordenadas da caixa delimitadora no formato [x1, y1, x2, y2] onde x1,y1 é o canto superior esquerdo, x2,y2 é o canto inferior direito da caixa delimitadora.
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2xywhn(x, w=640, h=640, clip=False, eps=0.0)
Converte as coordenadas da caixa delimitadora do formato (x1, y1, x2, y2) para o formato (x, y, largura, altura, normalizado). x, y, largura e altura são normalizados para as dimensões da imagem.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
x |
ndarray | Tensor
|
As coordenadas da caixa delimitadora de entrada no formato (x1, y1, x2, y2). |
necessário |
w |
int
|
A largura da imagem. Usa como padrão 640 |
640
|
h |
int
|
A altura da imagem. Usa como padrão 640 |
640
|
clip |
bool
|
Se for Verdadeiro, as caixas serão recortadas para os limites da imagem. A predefinição é Falso |
False
|
eps |
float
|
O valor mínimo da largura e da altura da caixa. O valor predefinido é 0,0 |
0.0
|
Devolve:
Nome | Tipo | Descrição |
---|---|---|
y |
ndarray | Tensor
|
As coordenadas da caixa delimitadora no formato (x, y, largura, altura, normalizado) |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.xywh2ltwh(x)
Converte o formato da caixa delimitadora de [x, y, w, h] para [x1, y1, w, h], em que x1, y1 são as coordenadas do canto superior esquerdo.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
x |
ndarray | Tensor
|
A entrada tensor com as coordenadas da caixa delimitadora no formato xywh |
necessário |
Devolve:
Nome | Tipo | Descrição |
---|---|---|
y |
ndarray | Tensor
|
As coordenadas da caixa delimitadora no formato xyltwh |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2ltwh(x)
Converte nx4 caixas delimitadoras de [x1, y1, x2, y2] para [x1, y1, w, h], em que xy1=esquerda superior, xy2=direita inferior.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
x |
ndarray | Tensor
|
A entrada tensor com as coordenadas das caixas delimitadoras no formato xyxy |
necessário |
Devolve:
Nome | Tipo | Descrição |
---|---|---|
y |
ndarray | Tensor
|
As coordenadas da caixa delimitadora no formato xyltwh. |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.ltwh2xywh(x)
Converte nx4 caixas de [x1, y1, w, h] para [x, y, w, h] em que xy1=cima-esquerda, xy=centro.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
x |
Tensor
|
a entrada tensor |
necessário |
Devolve:
Nome | Tipo | Descrição |
---|---|---|
y |
ndarray | Tensor
|
As coordenadas da caixa delimitadora no formato xywh. |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.xyxyxyxy2xywhr(corners)
Converte caixas delimitadoras orientadas (OBB) em lote de [xy1, xy2, xy3, xy4] para [xywh, rotação]. Os valores de rotação são esperados em graus de 0 a 90.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
corners |
ndarray | Tensor
|
Introduz os cantos da forma (n, 8). |
necessário |
Devolve:
Tipo | Descrição |
---|---|
ndarray | Tensor
|
Converteu os dados no formato [cx, cy, w, h, rotação] da forma (n, 5). |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.xywhr2xyxyxyxy(rboxes)
Converte caixas delimitadoras orientadas (OBB) em lote de [xywh, rotação] para [xy1, xy2, xy3, xy4]. Os valores de rotação devem devem estar em graus de 0 a 90.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
rboxes |
ndarray | Tensor
|
Caixas no formato [cx, cy, w, h, rotação] com a forma (n, 5) ou (b, n, 5). |
necessário |
Devolve:
Tipo | Descrição |
---|---|
ndarray | Tensor
|
Converte os pontos de canto da forma (n, 4, 2) ou (b, n, 4, 2). |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.ltwh2xyxy(x)
Converte a caixa delimitadora de [x1, y1, w, h] para [x1, y1, x2, y2] em que xy1=esquerda superior, xy2=direita inferior.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
x |
ndarray | Tensor
|
a imagem de entrada |
necessário |
Devolve:
Nome | Tipo | Descrição |
---|---|---|
y |
ndarray | Tensor
|
as coordenadas xyxy das caixas delimitadoras. |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.segments2boxes(segments)
Converte as etiquetas de segmento em etiquetas de caixa, ou seja, (cls, xy1, xy2, ...) para (cls, xywh)
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
segments |
list
|
lista de segmentos, cada segmento é uma lista de pontos, cada ponto é uma lista de coordenadas x, y |
necessário |
Devolve:
Tipo | Descrição |
---|---|
ndarray
|
as coordenadas xywh das caixas delimitadoras. |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.resample_segments(segments, n=1000)
Introduz uma lista de segmentos (n,2) e devolve uma lista de segmentos (n,2) com uma amostragem superior a n pontos cada.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
segments |
list
|
uma lista de matrizes (n,2), em que n é o número de pontos no segmento. |
necessário |
n |
int
|
número de pontos para os quais o segmento deve ser reamostrado. A predefinição é 1000 |
1000
|
Devolve:
Nome | Tipo | Descrição |
---|---|---|
segments |
list
|
os segmentos reamostrados. |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.crop_mask(masks, boxes)
Recebe uma máscara e uma caixa delimitadora e devolve uma máscara que é cortada para a caixa delimitadora.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
masks |
Tensor
|
[n, h, w] tensor de máscaras |
necessário |
boxes |
Tensor
|
[n, 4] tensor das coordenadas da caixa b em forma de ponto relativo |
necessário |
Devolve:
Tipo | Descrição |
---|---|
Tensor
|
As máscaras estão a ser cortadas para a caixa delimitadora. |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask_upsample(protos, masks_in, bboxes, shape)
Recebe a saída da cabeça de máscara e aplica a máscara às caixas delimitadoras. Produz máscaras de maior qualidade mas é mais lento.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
protos |
Tensor
|
[máscara_dim, máscara_h, máscara_w] |
necessário |
masks_in |
Tensor
|
[n, mask_dim], n é o número de máscaras após nms |
necessário |
bboxes |
Tensor
|
[n, 4], n é o número de máscaras após nms |
necessário |
shape |
tuple
|
o tamanho da imagem de entrada (h,w) |
necessário |
Devolve:
Tipo | Descrição |
---|---|
Tensor
|
As máscaras com amostragem melhorada. |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask(protos, masks_in, bboxes, shape, upsample=False)
Aplica máscaras a caixas delimitadoras utilizando a saída da cabeça da máscara.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
protos |
Tensor
|
Um tensor de forma [mask_dim, mask_h, mask_w]. |
necessário |
masks_in |
Tensor
|
Um tensor de forma [n, mask_dim], em que n é o número de máscaras após NMS. |
necessário |
bboxes |
Tensor
|
Um tensor de forma [n, 4], em que n é o número de máscaras após NMS. |
necessário |
shape |
tuple
|
Uma tupla de números inteiros que representa o tamanho da imagem de entrada no formato (h, w). |
necessário |
upsample |
bool
|
Um sinalizador para indicar se a máscara deve ser aumentada para o tamanho da imagem original. A predefinição é Falso. |
False
|
Devolve:
Tipo | Descrição |
---|---|
Tensor
|
Uma máscara binária tensor de forma [n, h, w], em que n é o número de máscaras após NMS, e h e w são a altura e a largura da imagem de entrada. A máscara é aplicada às caixas delimitadoras. |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask_native(protos, masks_in, bboxes, shape)
Pega na saída da cabeça da máscara e corta-a depois de fazer upsampling para as caixas delimitadoras.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
protos |
Tensor
|
[máscara_dim, máscara_h, máscara_w] |
necessário |
masks_in |
Tensor
|
[n, mask_dim], n é o número de máscaras após nms |
necessário |
bboxes |
Tensor
|
[n, 4], n é o número de máscaras após nms |
necessário |
shape |
tuple
|
o tamanho da imagem de entrada (h,w) |
necessário |
Devolve:
Nome | Tipo | Descrição |
---|---|---|
masks |
Tensor
|
As máscaras devolvidas com as dimensões [h, w, n] |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.scale_masks(masks, shape, padding=True)
Redimensiona as máscaras de segmento para a forma.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
masks |
Tensor
|
(N, C, H, W). |
necessário |
shape |
tuple
|
Altura e largura. |
necessário |
padding |
bool
|
Se for Verdadeiro, assume que as caixas são baseadas na imagem aumentada pelo estilo yolo . Se False, então faz um redimensiona. |
True
|
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.scale_coords(img1_shape, coords, img0_shape, ratio_pad=None, normalize=False, padding=True)
Redimensiona as coordenadas do segmento (xy) de img1_shape para img0_shape.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
img1_shape |
tuple
|
A forma da imagem da qual as coordenadas são provenientes. |
necessário |
coords |
Tensor
|
as coordenadas a serem escaladas da forma n,2. |
necessário |
img0_shape |
tuple
|
a forma da imagem à qual a segmentação está a ser aplicada. |
necessário |
ratio_pad |
tuple
|
o rácio entre o tamanho da imagem e o tamanho da imagem almofadada. |
None
|
normalize |
bool
|
Se for Verdadeiro, as coordenadas serão normalizadas para o intervalo [0, 1]. A predefinição é Falso. |
False
|
padding |
bool
|
Se for Verdadeiro, assume que as caixas são baseadas na imagem aumentada pelo estilo yolo . Se False, então faz um redimensiona. |
True
|
Devolve:
Nome | Tipo | Descrição |
---|---|---|
coords |
Tensor
|
As coordenadas escalonadas. |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.regularize_rboxes(rboxes)
Regulariza as caixas rodadas no intervalo [0, pi/2].
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
rboxes |
Tensor
|
(N, 5), xywhr. |
necessário |
Devolve:
Tipo | Descrição |
---|---|
Tensor
|
As caixas regularizadas. |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.masks2segments(masks, strategy='largest')
Recebe uma lista de máscaras(n,h,w) e devolve uma lista de segmentos(n,xy)
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
masks |
Tensor
|
o resultado do modelo, que é um tensor de forma (batch_size, 160, 160) |
necessário |
strategy |
str
|
'concat' ou 'largest'. Usa por defeito o maior |
'largest'
|
Devolve:
Nome | Tipo | Descrição |
---|---|---|
segments |
List
|
lista de máscaras de segmentos |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.convert_torch2numpy_batch(batch)
Converte um lote de tensores FP32 torch (0.0-1.0) para uma matriz NumPy uint8 (0-255), mudando de layout BCHW para BHWC.
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
batch |
Tensor
|
Entrada tensor batch of shape (Batch, Channels, Height, Width) e dtype torch.float32. |
necessário |
Devolve:
Tipo | Descrição |
---|---|
ndarray
|
Envia um lote da matriz NumPy com a forma (Batch, Height, Width, Channels) e o tipo de dados uint8. |
Código fonte em ultralytics/utils/ops.py
ultralytics.utils.ops.clean_str(s)
Limpa uma string substituindo caracteres especiais por underscore _
Parâmetros:
Nome | Tipo | Descrição | Predefinição |
---|---|---|---|
s |
str
|
uma cadeia de caracteres que precisa de ser substituída por caracteres especiais |
necessário |
Devolve:
Tipo | Descrição |
---|---|
str
|
uma cadeia de caracteres com caracteres especiais substituídos por um sublinhado _ |
Código fonte em ultralytics/utils/ops.py
Criado em 2023-11-12, Atualizado em 2024-05-08
Autores: Burhan-Q (1), Laughing-q (1), glenn-jocher (4)