在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

用于MAX78000模型訓練的數據加載器設計

星星科技指導員 ? 來源:ADI ? 作者:ADI ? 2023-02-21 12:11 ? 次閱讀

MAX78000是具有超低功耗卷積神經網絡加速器的人工智能微控制器,可以在芯片上有效地運行人工智能模型。用戶應首先使用ADI公司在PyTorch上的開發流程開發神經網絡模型。然后,MAX78000頻率合成器工具接受YAML格式的PyTorch檢查點和模型描述,自動生成C代碼,在MAX78000上編譯和執行。模型開發階段使用的基本軟件組件之一是數據加載器,它負責特定于應用程序的數據準備任務。本文檔介紹在準備適合MAX78000模型訓練的特定應用訓練和驗證/測試集實體時,數據加載器實現的原則和設計注意事項。

介紹

在應用程序開發周期中,第一步是準備和預處理可用數據以創建訓練和驗證/測試數據集。除了通常的數據預處理外,在MAX78000上運行模型還需要考慮幾個硬件限制。

數據加載器的主要職責可以總結如下:

[可選]將原始資源的輸入和標簽數據下載到通過調用ADI公司的CNN培訓工具(培訓存儲庫/train.py提供的數據路徑中。

從指定的數據路徑(csv/二進制文件、帶或不帶層次結構的文件夾/s 等)讀取原始輸入數據。

讀取提供的數據路徑中的原始標簽/注釋(csv/二進制文件/s、帶或不帶層次結構的文件夾等)。

[可選]應用數據預處理步驟,如增強、數據清理等。

對輸入數據和標簽應用所需的數據類型和范圍轉換。

執行訓練和測試/驗證拆分。

提供數據加載器方法和與MAX78000模型訓練工具兼容的定義字典。

[可選]將處理后的數據實體保留在磁盤上,以便將來訪問。

[可選]將上述步驟應用于可從同一原始數據源生成的每個不同數據集變體。

提供兩個用于訓練和測試數據的 PyTorch 數據集。

以下各節提供了有關創建高效數據加載器的說明,以滿足所需的功能并方便地集成訓練工具。

圖 1 抽象地顯示了數據加載器實現的主流。以下各節介紹了詳細信息

7600fig01.jpg?imgver=1

圖1.數據加載器模塊的主流。

自定義數據加載器實現的設計原則

數據加載器實現的主要職責之一是在將數據集實體饋送到 CNN 模型之前進行數據范圍調整和數據類型管理。圖 2 總結了這些操作,以下各節將詳細介紹這些操作。

7600fig02.jpg?imgver=1

圖2.數據范圍規范化和類型轉換。

預期數據范圍

對于訓練,輸入數據應在

7600eq1.jpg?imgver=1

.當評估量化權重或在硬件上運行時,輸入數據應位于本機MAX7800X范圍[-128, +127]。

如以下部分所述,數據加載器函數將數據路徑和一些參數作為輸入參數。參數字段包括兩個必填字段:act_mode_8bit 和 truncate_testset。當設置為True時,第一個參數是指對于本地MAX7800X范圍,即范圍[-128, +127],應正確進行大小寫歸一化。設置為 False 時,規范化應在訓練范圍內

7600eq1.jpg?imgver=1

如果可用數據在 [0 1] 范圍內,例如,在 PIL 圖像中,數據加載器可以直接調用 ai8x.normalize() 函數,使用提供的 args 參數將數據規范化為兩個支持的數據范圍:

class normalize:
"""
Normalize input to either [-128/128, +127/128] or [-128, +127]
"""
    def __init__(self, args):
        self.args = args

    def __call__(self, img):
        if self.args.act_mode_8bit:
            return img.sub(0.5).mul(256.).round().clamp(min=-128, max=127)
        return img.sub(0.5).mul(256.).round().clamp(min=-128, max=127).div(128.)

如果可用數據范圍為 [0 255],則需要在調用 ai256x.normalize() 函數之前將其除以 0 以使其達到 [1 8] 范圍。

注意:ai8x 模塊的設備設置方法ai8x.set_device也接受相關參數模擬:True 表示訓練案例 (act_mode_8bit = True),False 表示量化模型的評估或在也初始化 act_mode_8bit = False 的硬件上運行。此方法由具有適當參數管理的訓練腳本使用,但如果在外部調用函數,則應正確設置模擬參數。

在MAX7800X硬件上運行推理時,必須考慮本地數據格式,并且在推理過程中應盡可能少地進行預處理。

數據類型

數據源可能具有不同范圍內各種格式和值的原始數據文件。數據集類和數據加載器函數負責處理必要的轉換。

數據加載器函數應返回數據類的訓練和測試數據集元組。類型轉換和轉換通常在 __get_item__ 函數內處理,該函數應返回指定索引數據實體的數據元組和標簽。數據項的類型應為:火炬。庫達]。形狀火炬的浮動張量。大小(數據集字典的相關條目“輸入”字段)。

標簽維度可能因問題類型或輸入數據形狀而異。每個標簽類型都應強制轉換為 np.long,以便在訓練腳本中正確計算訓練損失。

在完成所有數據增強和預處理任務并將數據范圍規范化為 [0 1] 后,應使用該ai8x_normalize進行適當的進一步規范化,然后可以使用 torchvision.transforms.ToTensor 執行類型轉換。

注意:拿到火炬。庫達]。FloatTensor,numpy 數組必須事先轉換為 float32。

Torchvision軟件包包括各種預處理轉換,例如可以根據應用程序需求使用的PIL圖像的隨機裁剪。數據類可以利用Torchvision包的復合轉換按順序應用多個轉換,例如ToTensor轉換和ai8x_normalize每當訪問數據條目時。

數據實體的存儲

通常,有兩種方法可以存儲數據集條目;整個數據集條目可以存儲在內存中,也可以在使用 __getitem__ 方法訪問時從磁盤讀取。基本的決策因素是數據集的大小和每個實體的大小。當數據集太大而無法放入內存時(在初始化函數中處理預處理和增強任務后),所有數據集條目都可以保存到磁盤中,并在以后每次訪問時從磁盤單獨讀取。雖然將數據條目保留在內存中可以加快數據訪問速度,但內存限制可能會阻止在所有情況下使用基于內存的方法。

注意:即使采用基于內存的方法,也建議將預處理和增強的數據條目寫入磁盤,因為它們只執行一次。然后,在每次生成數據類實例時,可以執行將所有數據批量讀取到內存中。

表 1 總結了同一數據源的兩個數據加載器實現選項的一些度量。從第一行可以看出,磁盤存儲方法可以處理更多圖像。內存預算是限制已處理圖像數量的因素。這兩種方法的數據集生成時間都很長,因為第一種方法還處理預處理、擴充等步驟,然后將所有可用數據寫入磁盤。基于內存的方法在以后生成數據集需要更長的時間,因為對象創建需要將大文件從磁盤批量讀取到內存中。而在第二種方法中,每個數據集項都是獨立保存的,__getitem__方法創建數據集對象和實體檢索都花費很少的時間。第一種方法的內存消耗很高,因為它將所有數據集實體保留在內存中。在磁盤使用情況方面,第一種方法通常使用所有數據條目的單個文件,第二種方法為每個數據條目使用單獨的文件。這應該會導致大致相似的磁盤預算。

注意:在表 1 中,由于處理圖像的數量減少,第一種方法的磁盤空間要小得多。磁盤方法的唯一缺點是它增加了訓練時間,因為每個數據輸入讀取都是作為單獨的磁盤操作完成的。

數據加載器 圖像存儲在內存中 圖像存儲在內存中 數據加載器 使用從磁盤讀取的映像
可處理的圖像數量 20 000 * 1 = 20000 34 426 * 3 = 103 278
數據集生成時間 – 首次運行 30 分 60 分
數據集生成時間 – 后續運行 15 分 瞬間
運行時內存消耗峰值 ~55 千兆字節 ~5 千兆字節
磁盤消耗 ~50 千兆字節 ~ 240 GB
訓練時間 單紀元 60-62秒 1450 秒

自定義數據加載器實現的編程原則

數據加載器模塊將在 PyTorch 中實現,預計至少具有以下三個組件:

數據集類定義。示例:類 AISegment(數據集)

torch.utils.data.Dataset是自定義數據集實現類應繼承的抽象類。有關 PyTorch 中自定義數據加載器實現的教程,請參閱 [1]。

應重寫__len__方法,以便 len(dataset) 返回數據集的大小。

還應該實現__getitem__來支持索引,以便數據集[i]可用于獲取i千樣本。對于MAX78000應用,該方法應返回一個數據元組及其相應的標簽。

__init__功能參數和內容可根據應用需求進行定制。前兩個參數通常是數據根路徑和類型(測試或訓練),如MAX78000訓練存儲庫數據集文件夾中的幾個數據加載器實現所示。但是,只要以下項目中介紹并作為外部通信點提供的數據加載器函數是固定的并執行所需的操作,就可以更改這些參數的順序或命名。

數據加載器函數:不應修改此函數的簽名。第一個輸入是指定數據目錄和程序參數的元組。兩個前導布爾輸入指定是否應加載訓練和/或測試數據。

程序參數有兩個與數據類實現相關的關鍵字段;act_mode_8bit和truncate_testset。第一個是指規范化類型(有關更多詳細信息,請參閱預期數據范圍部分),第二個用于將測試集截斷為單個元素集。

示例:def AISegment352_get_datasets(data, load_train=True, load_test=True)。

數據集字典包括可用的數據加載器函數。字典名稱和鍵值都不應更改,僅應根據自定義數據集實現調整值。同一數據源的每個變體都可以作為此字典中的單獨元素存在。

例:

“name”鍵的值使ADI公司的CNN訓練工具(訓練存儲庫/train.py)能夠在提供--dataset參數時查找數據集。因此,此字段的值在自定義數據集中應該是唯一的。

“input”鍵的值是輸入數據的維度。第一個維度作為num_channels傳遞給模型,而其余維度作為維度傳遞。例如,“input”:(1, 28, 28) 以 num_channels=1 和 dimension=(28, 28) 的形式傳遞給模型。一維輸入使用單個“維度”,例如“input”:(2, 512) 以 num_channels=2 和 dimension=(512, ) 的形式傳遞給模型。

“output”鍵的值指定分類問題的可用類類型。此鍵的值也可以使用字符串文本定義。

示例:“輸出”:(“背景”、“縱向”)。

“weight”鍵的值指定每個數據實體的權重,并引用類標簽。這是一個可選字段,如果未提供,則全部為“1”。

可以通過使用可用樣本數為每個類提供成反比的權重來解決訓練數據集中的類不平衡問題。因此,訓練腳本更加關注頻率較低的樣本。

可選的回歸可以設置為 True 以自動選擇訓練腳本的 --regression 命令行參數。

注意:當類數為 1 時,訓練腳本會自動設置回歸。 示例:“輸出”:(“id”),“回歸”:真。

示例數據加載器

MAX78000訓練存儲庫數據集文件夾包括幾種不同的數據加載器實現,詳情請參見[2]。在本節中,將介紹一個定制的數據加載器來舉例說明所有提到的原則。縱向分割數據集用于此目的,更多詳細信息請參見 [3]。此數據集源包括 34,427 張分辨率為 600 × 800 的人類肖像圖像(紅色、綠色和藍色 (RGB) 顏色格式),以及相同數量的標簽圖像,具有相同大小的紅色、綠色、藍色和 Alpha (RGBA) 格式的相應蒙版。

初始化

設計的數據加載器模塊的第一個組件是具有以下初始化函數的數據加載器類。將跳過有關生成數據集信息數據框的詳細信息。簡而言之,這些行包括一些路徑處理代碼,用于保留原始圖像路徑、原始遮罩文件路徑、裁剪 idx 和要保存到的數據集條目的泡菜文件路徑。除了這些路徑生成部分之外,初始化函數的主要功能是保留提供的參數并相應地排列一些局部變量(例如,訓練或測試數據集信息數據幀)并生成數據集實體。

對于第一次初始化調用,所有數據處理任務都使用 __gen_datasets__ 方法處理,并為每個數據集項生成 pickle 文件并存儲在磁盤上,以便在每次數據訪問時讀取。

class AISegment(Dataset):
…
    def __init__(self, root_dir, d_type, transform=None, im_size=[80, 80], fold_ratio=1):
        …
        self.d_type = d_type
        self.transform = transform
        self.img_ds_dim = im_size
        self.fold_ratio = fold_ratio

        # Generate and save dataset information file if not already available
        # Training and Test split is also performed here using the hash of file names (all three cropped images should fall into the same set)
        # Information data frames include raw data path, raw label path, crop idx, pickle file path, etc. for each data entity
        …

        # One of the created data frames is selected from: train_img_files_info & test_img_files_info
        if self.d_type == 'train':
            self.img_files_info = train_img_files_info

        elif self.d_type == 'test':
            self.img_files_info = test_img_files_info
        else:
            print('Unknown data type: %s' % self.d_type)
            return

   # Create and save pt files for each data entity (if not available before)
   self.__create_pt_files()
        self.is_truncated = False

    def __create_pt_files(self):
        if self.__check_pt_files_exist():
            return
        self.__makedir_exist_ok(self.processed_train_data_folder)
        self.__makedir_exist_ok(self.processed_test_data_folder)
        self.__gen_datasets()

數據增強

gen_datasets方法處理所有必需的預處理、擴充和預規范化步驟。實施的步驟如下:

從原始圖像裁剪三個正方形圖像(因為U-Net模型使用方形圖像)。

根據提供的數據集參數,裁剪圖像和遮罩圖像被下采樣為 80×80 或 352×352。

相應的遮罩圖像將轉換為二進制“背景”或“肖像”標簽。

如果需要,將折疊圖像(352×352 圖像折疊為大小為 88×88×48 的圖像)。

圖像在保存之前按 256 縮放,因為復合變壓器期望圖像在 [0 1] 范圍內,但原始圖像是 RGB 并且值在 [0 255] 范圍內。

圖像裁剪原理如圖3所示。

圖 4 包括從同一原始圖像構建的三個示例訓練圖像。

7600fig03.jpg?imgver=1

圖3.示例數據加載器 – 數據增強:從原始圖像中裁剪出三個方形圖像。

7600fig04.jpg?imgver=1

圖4.從原始圖像(600 × 600)裁剪了三個大小為 800 × 600 的圖像(以及相應的消光圖像)。

gen_datasets方法的實現方式如下:

def __normalize_image(self, image):
        return image / 256

def __gen_datasets(self):

        # For each entry in dataset information dataframe
        for _, row in tqdm(self.img_files_info.iterrows()):

            img_file = row['img_file_path']
            matting_file = row['lbl_file_path']
            pickle_file = row['pickle_file_path']
            img_crp_idx = row['crp_idx']

            img = Image.open(img_file)
            lbl_rgba = Image.open(matting_file)

            vertical_crop_area = AISegment.img_dim[0] - AISegment.img_crp_dim[0]
            step_size = vertical_crop_area / (AISegment.num_of_cropped_imgs - 1)

            # Determine top left coordinate of the crop area
            top_left_x = 0
            top_left_y = 0 + img_crp_idx * step_size
                
            # Determine bottom right coordinate of the crop area
            bottom_right_x = AISegment.img_crp_dim[0]
            bottom_right_y = top_left_y + AISegment.img_crp_dim[0]
                
            img_crp = img.crop((top_left_x, top_left_y, bottom_right_x, bottom_right_y))
            img_crp_lbl = lbl_rgba.crop((top_left_x, top_left_y, bottom_right_x, bottom_right_y))
    
            img_crp = img_crp.resize(self.img_ds_dim)
            img_crp = np.asarray(img_crp).astype(np.uint8)

            img_crp_lbl = img_crp_lbl.resize(self.img_ds_dim)
            img_crp_lbl = (np.asarray(img_crp_lbl)[:, :, 3] == 0).astype(np.uint8) 
                
            # Fold the data (ex: 352 x 352 x 3 folded into 88 x 88 x 48) if required and save to pt file
            if self.fold_ratio == 1:
                img_crp_folded = img_crp

            else:
                img_crp_folded = None
                for i in range(self.fold_ratio):
                    for j in range(self.fold_ratio):
                        if img_crp_folded is not None:
                            img_crp_folded = np.concatenate((img_crp_folded, img_crp[i::self.fold_ratio, j::self.fold_ratio, :]), axis=2)
                        else:
                            img_crp_folded = img_crp[i::self.fold_ratio, j::self.fold_ratio, :]
            
            pickle.dump((img_crp_folded, img_crp_lbl), open(pickle_file, 'wb'))

數據加載器方法和轉換器定義

數據加載器方法是第二個必需的組件定制數據加載器模塊。對于示例 AISegment 數據集,實現了兩個不同的數據加載器函數。第一個 (AISegment_get_datasets) 使用較小的 U-Net 網絡模型返回大小為 80x80 的圖像。后者 (AISegment352_get_datasets) 返回大小為 352×352 的圖像。下面是第二個的實現,它生成具有所需屬性的 AISegment 對象。復合變壓器也在此函數中定義。此外,如果需要截斷,則測試數據集將被截斷。

def AISegment352_get_datasets(data, load_train=True, load_test=True):
    """…"""
    (data_dir, args) = data

    if load_train:
        train_transform = transforms.Compose([
            transforms.ToTensor(),
            ai8x.normalize(args=args)
        ])
        
        train_dataset = AISegment(root_dir=data_dir, d_type='train',
                                  transform=train_transform,
                                  im_size=[352, 352])
    else:
        train_dataset = None

    if load_test:
        test_transform = transforms.Compose([
            transforms.ToTensor(),
            ai8x.normalize(args=args)
        ])

        test_dataset = AISegment(root_dir=data_dir, d_type='test',
                                 transform=test_transform,
                                 im_size=[352, 352])

        if args.truncate_testset:
            test_dataset.data = test_dataset.data[:1]
    else:
        test_dataset = None

    return train_dataset, test_dataset

數據集字典

數據集字典是自定義數據加載器模塊的第三個必需組件,該模塊包含可用的數據加載器功能。對于示例 AISegment 數據加載程序,由于有兩種數據集變體可以生成具有不同分辨率(80×80 或 352×352)的數據集實體,因此數據集字典有兩個實體,每個實體都包括輸入和輸出大小的正確定義以及數據加載器函數名稱。

使用圖像測試訓練模型

在模型開發階段之后,可以使用測試數據集或任意樣本來測試模型。關鍵的一點是,在向模型提供輸入之前,必須在外部完成正確的轉換/s數據加載器實現。

例如,使用AISegment數據集訓練的示例模型需要輸入形狀[48, 88, 88],這是分辨率為352×352的折疊RGB圖像的通道優先表示,具有MAX7800X所需的歸一化像素值。外部提供的測試圖像甚至可能沒有相同的顏色格式,但必須事先實現所需的轉換,因為模型是針對 RGB 圖像訓練的。下面是具有 470×470 分辨率和 YbCr 顏色格式的縱向圖像的測試模型的示例代碼片段:

rgb_img = yuv_img.convert('RGB')
rgb_img_ds = rgb_img.resize([352, 352])

# Image to numpy array conversion:
rgb_img_ds = np.asarray(rgb_img_ds).astype(np.uint8)

# Fold image (352 x 352 x 3 folded into 88 x 88 x 48)
rgb_img_ds_folded = fold_image(rgb_img_ds, 4)

# Covert pixel values to range [0 1] and cast to float type (required for Torch)
rgb_img_ds_folded_scaled = (rgb_img_ds_folded / 256).astype(np.float32)

# Normalize for MAX78000
# Set act_mode_8bit=True as we will set model parameter simulate=True     
args = Args(act_mode_8bit=True)

transform = transforms.Compose([
            transforms.ToTensor(),
            ai8x.normalize(args=args)
])
rgb_img_ds_folded_scaled_normalized = transform(rgb_img_ds_folded_scaled)

# Add batch dimension
rgb_img_batch = rgb_img_ds_folded_scaled_normalized.unsqueeze(0)

# Load model
device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
load_model_path = 'unet/qat_ai85unet_v7_352_4_best_q.pth.tar'

ai8x.set_device(device=85, simulate=True, round_avg=False)

model = mod.AI85Unet_v7_pt(num_classes=2, num_channels=3, dimensions=(88, 88), 
                        bias=True, fold_ratio=4)

checkpoint = torch.load(load_model_path, map_location=lambda storage, loc: storage)
ai8x.fuse_bn_layers(model)
model = apputils.load_lean_checkpoint(model, load_model_path, model_device=device)
ai8x.update_model(model)
model = model.to(device)

# Run model
with torch.no_grad():
    sample_img_rgb_batch = rgb_img_batch.to(device)
    model_out_rgb = model(sample_img_rgb_batch)

# Retrieve model output
out_vals = np.argmax(model_out_rgb[0, :, :, :].detach().cpu().numpy(), axis=0)
plt.imshow(out_vals, cmap='Greys')

圖5包括以YCbCr格式給出的示例外部測試數據項,相應的RGB圖像以及執行所有必需轉換后的模型輸出。首先,色彩空間需要轉換為RGB。然后,應將圖像縮減像素采樣,使其具有 352 × 352 分辨率。下一個操作是折疊,需要轉換和規范化。

7600fig05.jpg?imgver=1

圖5.在 YCbCr 色彩空間、RGB 空間和模型輸出中采樣縱向圖像。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7659

    瀏覽量

    152184
  • 神經網絡
    +關注

    關注

    42

    文章

    4782

    瀏覽量

    101230
  • 人工智能
    +關注

    關注

    1796

    文章

    47784

    瀏覽量

    240542
收藏 人收藏

    評論

    相關推薦

    基于MAX78000FTHR的機器學習實時處理方案

    MAX78000本質上是一個ARM Cortex-M4F微控制,周邊有很多硬件,其中包括Maxim設計的神經網絡(CNN)加速(圖1)。這種機器學習(ML)支持使芯片能夠實時處理諸如識別
    的頭像 發表于 01-16 11:22 ?4480次閱讀
    基于<b class='flag-5'>MAX78000</b>FTHR的機器學習實時處理方案

    Pytorch模型訓練實用PDF教程【中文】

    本教程以實際應用、工程開發為目的,著重介紹模型訓練過程中遇到的實際問題和方法。在機器學習模型開發中,主要涉及三大部分,分別是數據模型和損失
    發表于 12-21 09:18

    怎樣使用PyTorch Hub去加載YOLOv5模型

    autoshape=False. 要加載具有隨機初始化權重的模型(從頭開始訓練),請使用pretrained=False. 在這種情況下,您必須提供自己的訓練腳本。或者,請參閱我們的
    發表于 07-22 16:02

    Maxim將AI推向邊緣 MAX78000低功耗神經網絡加速微控制

    日前,模擬芯片大廠Maxim Integrated發布了一款名為MAX78000的革命性芯片。按照他們的說法,這顆低功耗神經網絡加速微控制能將人工智能(AI)推向邊緣端,更重要的是,因為其低功耗
    發表于 10-10 10:27 ?1390次閱讀

    MAX78000將能耗和延遲降低100倍,從而在IoT邊緣實現復雜的嵌入式決策

    通過集成專用的神經網絡加速MAX78000克服了這些局限性,憑借在本地以低功耗實時執行AI處理,使機器能夠看到和聽到復雜的型態。由于MAX78000執行推理的功耗不到微控制軟件運
    的頭像 發表于 11-04 09:54 ?1873次閱讀

    Maxim Integrated新型神經網絡加速MAX78000 SoC在貿澤開售

    MAX78000處理提供高效的電源管理,最大限度地延長電池供電的物聯網 (IoT) 設備的續航時間。
    的頭像 發表于 12-09 16:53 ?2857次閱讀

    美信半導體新型神經網絡加速MAX78000 SoC

    、面部識別、目標檢測和分類、時序數據處理和音頻處理等應用的理想選擇。 Maxim MAX78000集成了兩個MCU核心用于系統控制,即ArmCortex-M4處理和32位RISC-V
    的頭像 發表于 01-04 11:48 ?3069次閱讀

    使用MAX78000進行人臉識別

    本應用筆記演示了在MAX78000中實現人臉識別模型,以及如何在超低功耗MAX78000平臺上部署,用于資源受限的邊緣或物聯網應用。該應用遵循基于知識蒸餾的
    的頭像 發表于 12-16 16:12 ?1942次閱讀
    使用<b class='flag-5'>MAX78000</b>進行人臉識別

    MAX78000上開發功耗優化應用

    功耗是邊緣人工智能 (AI) 應用的關鍵因素,其中整個系統由小型電池供電,預計無需充電或更換電池即可運行數月。MAX78000超低功耗AI微控制專為物聯網邊緣的此類應用而設計。本文介紹了各種配置
    的頭像 發表于 02-17 11:20 ?900次閱讀
    在<b class='flag-5'>MAX78000</b>上開發功耗優化應用

    厲害了,這3個項目獲得了MAX78000設計大賽一等獎!

    AX78000FTHR開發板。 AI微控制 MAX78000 MAX78000是一款先進的片上系統,集成帶FPU CPU的Arm ? Cortex -M4內核,通過超低功耗深度神經
    的頭像 發表于 03-10 19:45 ?909次閱讀

    MAX78000上開發功耗優化應用

    MAX78000為超低功耗微控制,具有專用卷積神經網絡(CNN)加速。這種架構能夠在能源受限的環境中開發非常節能的 AI 應用程序。MAX78000提供多種選擇,便于開發低功耗應用
    的頭像 發表于 06-16 11:41 ?813次閱讀
    在<b class='flag-5'>MAX78000</b>上開發功耗優化應用

    MAX78000人工智能設計大賽第二季回歸!賽題廣任意玩,獎勵足直接沖!

    官方網址 (瀏覽收藏防止跑丟) : https://www.eetree.cn/page/analog-max78000-2/ ? 蘇老師寄語?? 大賽簡介 2023年MAX78000人工智能
    的頭像 發表于 09-13 18:40 ?599次閱讀
    <b class='flag-5'>MAX78000</b>人工智能設計大賽第二季回歸!賽題廣任意玩,獎勵足直接沖!

    MAX78000: Artificial Intelligence Microcontroller with Ultra-Low-Power Convolutional Neural Network Accelerator Data Sheet MAX78000: Artific

    Convolutional Neural Network Accelerator Data Sheet相關產品參數、數據手冊,更有MAX78000: Artificial Intelligence
    發表于 10-17 18:53
    <b class='flag-5'>MAX78000</b>: Artificial Intelligence Microcontroller with Ultra-Low-Power Convolutional Neural Network Accelerator Data Sheet <b class='flag-5'>MAX78000</b>: Artific

    MAX78000進串口通信的驗證和調試

    的接收引腳為P1.0?(RXD2)。引腳連接方式:將外部設備的串口接收引腳連接到MAX78000開發板的P1.4?(TXD2)引腳。將外部設備的串口發送引腳連接到MAX78000開發板的P1.5?(RXD2)引腳。通過該工程,您可以使用UART2接口將字符串
    發表于 02-18 09:43 ?0次下載

    ADI 新型AI微控制 # MAX78000 數據手冊和芯片介紹

    MAX78000是一款新型的AI微控制,使神經網絡能夠在互聯網邊緣端以超低功耗運行,將高能效的AI處理與經過驗證的ADI/Maxim超低功耗微控制相結合。通過這款基于硬件的卷積神經網絡(CNN)加速
    的頭像 發表于 02-08 16:50 ?271次閱讀
    ADI 新型AI微控制<b class='flag-5'>器</b> # <b class='flag-5'>MAX78000</b> <b class='flag-5'>數據</b>手冊和芯片介紹
    主站蜘蛛池模板: 成人a毛片视频免费看 | 久久精品5 | www.九色.com| 亚洲国产视频一区 | 成人看的一级毛片 | 久久精品视频观看 | 五月开心六月伊人色婷婷 | 婷婷五月情 | 免费大片黄日本在线观看 | 免费色网址 | 亚洲第一页视频 | 在线播放免费人成毛片乱码 | 国产高清免费不卡观看 | 污女网站 | 能看毛片的网址 | 国产高清在线精品一区 | 五月婷综合网 | 久久久久久久久久免观看 | 日本激情网 | 亚洲欧美日韩国产一区二区三区精品 | 中文天堂最新版在线中文 | 日本免费在线 | 欧美日韩性高爱潮视频 | 男人呻吟双腿大开男男h互攻 | 在线天堂网 | 精品国产自在在线在线观看 | 欧美日一区二区三区 | 日本三级强在线观看 | 天天操天天干天天玩 | 欧美国产三级 | 91成人在线免费视频 | 亚洲视频一区在线 | 五月天男人的天堂 | 欧美黄色片免费观看 | 神马午夜98 | 四虎亚洲国产成人久久精品 | 午夜精品久久久久久毛片 | 欧美在线免费 | 日本特黄特黄刺激大片免费 | 天天操夜夜爽 | 免费中国一级啪啪片 |