日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

    歡迎訪問 生活随笔!

    生活随笔

    當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

    生活经验

    MinkowskiEngine实用函数和类

    發布時間:2023/11/28 生活经验 37 豆豆
    生活随笔 收集整理的這篇文章主要介紹了 MinkowskiEngine实用函数和类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

    MinkowskiEngine實用函數和類
    sparse_quantize
    MinkowskiEngine.utils.sparse_quantize(coords, feats=None, labels=None, ignore_label=- 100, return_index=False, return_inverse=False, quantization_size=None)
    給定坐標和特征(optional的標簽),函數將生成量化(體素化)坐標。
    Args:
    coords(numpy.ndarray或torch.Tensor): N×D矩陣大小 ,其中 N 是點數 ,D是維數空間。
    feats(numpy.ndarray或torch.Tensor,optional):大小矩陣N×DF ,其中 N 是點數, DF是特征的尺寸。必須與coords具有相同的容器(即,如果coords是torch.Tensor,則feats 也必須是torch.Tensor)。
    labels(numpy.ndarray或torch.IntTensor,optional):與eah坐標關聯的整數標簽。必須與coords具有相同的容器(即,如果coords是torch.Tensor,則 標簽也必須是torch.Tensor)。對于將一組點映射到一個標簽的分類,請勿輸入標簽。
    ignore_label(int,optional):IGNORE LABEL的int值。 torch.nn.CrossEntropyLoss(ignore_index=ignore_label)
    return_index(bool,optional):如果需要量化坐標的索引,則設置True。默認為False。
    return_inverse(bool,optional):如果希望索引可以恢復離散化的原始坐標,則將其設置為True。默認為False。當return_reverse為True時,return_index必須為True。
    例:

    unique_map, inverse_map = sparse_quantize(discrete_coords, return_index=True, return_inverse=True)
    unique_coords = discrete_coords[unique_map]
    print(unique_coords[inverse_map] == discrete_coords) # True
    quantization_size(float,list或 numpy.ndarray,optional):網格單元的超矩形各邊的長度。
    例:

    Segmentation

    criterion = torch.nn.CrossEntropyLoss(ignore_index=-100)
    coords, feats, labels = MinkowskiEngine.utils.sparse_quantize(
    coords, feats, labels, ignore_label=-100, quantization_size=0.1)
    output = net(MinkowskiEngine.SparseTensor(feats, coords))
    loss = criterion(output.F, labels.long())

    Classification

    criterion = torch.nn.CrossEntropyLoss(ignore_index=-100)
    coords, feats = MinkowskiEngine.utils.sparse_quantize(coords, feats)
    output = net(MinkowskiEngine.SparseTensor(feats, coords))
    loss = criterion(output.F, labels.long())
    batched_coordinates
    MinkowskiEngine.utils.batched_coordinates(coords)
    根據一系列坐標,創建一個ME.SparseTensor坐標
    給定numpy或pytorch張量坐標的列表,返回適合ME.SparseTensor的批處理坐標。
    Args:
    coords(torch.Tensor或numpy.ndarray的序列):坐標列表。
    返回值:
    coords(torch.IntTensor):批處理的坐標。
    警告
    從v0.4開始,批次索引將在所有坐標之前。
    sparse_collate
    MinkowskiEngine.utils.sparse_collate(coords, feats, labels=None)
    為稀疏張量文檔創建輸入參數。
    將一組坐標和特征要素轉換為批處理坐標和批處理要素。
    Args:
    coords(一組torch.Tensor或numpy.ndarray):一組坐標。
    feats(一組torch.Tensor或numpy.ndarray):一組功能。
    labels(一組torch.Tensor或numpy.ndarray):與輸入關聯的一組標簽。
    batch_sparse_collate
    MinkowskiEngine.utils.batch_sparse_collate(data)
    可以與torch.utils.data.DataLoader結合使用的wrapper包裝器函數,為稀疏張量生成輸入。
    請參閱訓練示例以了解用法。
    Args:
    data:(coordinates, features, labels)元組的列表。
    稀疏整理
    類MinkowskiEngine.utils.SparseCollation(limit_numpoints = -1)
    為coords, feats, labels生成集成功能。
    請參閱訓練示例以了解用法。
    Args:
    limit_numpoints(int):如果為正整數,則限制批量大小,以使輸入坐標的數量低于limit_numpoints。如果為0或False,則連接所有點。默認為-1。
    例:

    data_loader = torch.utils.data.DataLoader(
    dataset,
    …,
    collate_fn=SparseCollation())
    for d in iter(data_loader):
    print(d)
    init(limit_numpoints = -1)
    初始化self. See help(type(self))有關準確的簽名。
    get_coords_map
    MinkowskiEngine.utils.get_coords_map(x,y)
    獲取稀疏張量1和稀疏張量2之間的映射。
    Args:
    x(MinkowskiEngine.SparseTensor):x.tensor_stride <= y.tensor_stride的稀疏張量 。
    y(MinkowskiEngine.SparseTensor):x.tensor_stride <= y.tensor_stride的稀疏張量 。
    返回值:
    x_indices(torch.LongTensor):x的索引與返回的y索引相對應。
    x_indices(torch.LongTensor):y的索引,它對應于返回的x的索引。
    例:
    … code-block:: python

    sp_tensor = ME.SparseTensor(features, coords=coordinates)
    out_sp_tensor = stride_2_conv(sp_tensor)

    ins, outs = get_coords_map(sp_tensor, out_sp_tensor)
    for i, o in zip(ins, outs):
    print(f"{i} -> {o}")
    cat
    MinkowskiEngine.cat(* sparse_tensors)
    級聯稀疏張量
    連接稀疏張量特征。所有稀疏張量必須具有相同的 coords_key(相同的坐標)。要連接具有不同稀疏性模式的稀疏張量,請使用SparseTensor二進制運算或 MinkowskiEngine.MinkowskiUnion。
    例:

    import MinkowskiEngine as ME
    sin = ME.SparseTensor(feats, coords)
    sin2 = ME.SparseTensor(feats2, coords_key=sin.coords_key, coords_man=sin.coords_man)
    sout = UNet(sin) # Returns an output sparse tensor on the same coordinates
    sout2 = ME.cat(sin, sin2, sout) # Can concatenate multiple sparse tensors

    總結

    以上是生活随笔為你收集整理的MinkowskiEngine实用函数和类的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。