欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于OpenVINO在英特爾開(kāi)發(fā)套件上實(shí)現(xiàn)眼部追蹤

英特爾物聯(lián)網(wǎng) ? 來(lái)源:英特爾物聯(lián)網(wǎng) ? 2023-09-18 10:11 ? 次閱讀

作者:汕頭大學(xué) 22級(jí)電子信息工程 羅毅成

本文將以訓(xùn)練一個(gè)眼部追蹤 AI 小模型為背景,介紹從 Pytorch 自定義網(wǎng)絡(luò)模型,到使用 OpenVINO NNCF 量化工具優(yōu)化模型,并部署到英特爾開(kāi)發(fā)套件愛(ài)克斯開(kāi)發(fā)板 AIxBoard 的流程。

本項(xiàng)目已開(kāi)源:RedWhiteLuo/HeadEyeTrack (github.com)

開(kāi)發(fā)環(huán)境:Windows 11 + Pycharm。模型訓(xùn)練平臺(tái)為 12700H,部署平臺(tái)為 AIxBoard愛(ài)克斯板。

AIxBoard愛(ài)克斯板開(kāi)發(fā)者套介紹

此開(kāi)發(fā)人員套件采用英特爾 賽揚(yáng) 處理器 N 系列,已通過(guò) Ubuntu* Desktop 和 OpenVINO 工具套件的預(yù)驗(yàn)證,有助于在教育方面取得更多成績(jī)。這一組合為學(xué)生提供了在 AI、視覺(jué)處理和物聯(lián)網(wǎng)領(lǐng)域培養(yǎng)編程技能和設(shè)計(jì)解決方案原型所需的性能。

開(kāi)始的開(kāi)始當(dāng)然是開(kāi)箱啦~~

01確定整體的流程

在 V1.0 版本中,我將眼部圖片直接用來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò),發(fā)現(xiàn)結(jié)果并不理想,經(jīng)過(guò)檢查后發(fā)現(xiàn)由于頭部的朝向會(huì)朝著目光方向偏轉(zhuǎn),導(dǎo)致訓(xùn)練集中的樣本分布差異很小,由此導(dǎo)致結(jié)果并不理想,于是在 V1.5 版本中采用了復(fù)合的模型結(jié)構(gòu),以此引入頭部的位置信息:

02模型結(jié)構(gòu)

以網(wǎng)絡(luò)上已有的項(xiàng)目 “l(fā)ookie-lookie” 為參考,通過(guò)查看其源碼可以得知該項(xiàng)目所使用的網(wǎng)絡(luò)結(jié)構(gòu), 我們可以以此為基礎(chǔ)進(jìn)行修改。

因此,在 Pytroch 中我們可以繼承 nn.Module 并定義如下的模型:

class EyeImageModel(nn.Module):
  def __init__(self):
    super(EyeImageModel, self).__init__()
    self.model = Sequential(
      # in-> [N, 3, 32, 128]
      BatchNorm2d(3),
      Conv2d(3, 2, kernel_size=(5, 5), padding=2),
      LeakyReLU(),
      MaxPool2d(kernel_size=(2, 2), stride=(2, 2)),
      Conv2d(2, 20, kernel_size=(5, 5), padding=2),
      ELU(),
      Conv2d(20, 10, kernel_size=(5, 5), padding=2),
      Tanh(),
      Flatten(1, 3),
      Dropout(0.01),
      Linear(10240, 1024),
      Softplus(),
      Linear(1024, 2),
    )


  def forward(self, x):
    return self.model(x)




class PositionOffset(nn.Module):
  def __init__(self):
    super(PositionOffset, self).__init__()
    self.model = Sequential(
      Conv2d(1, 32, kernel_size=(2, 2), padding=0),
      Softplus(),
      Conv2d(32, 64, kernel_size=(2, 2), padding=1),
      Conv2d(64, 64, kernel_size=(2, 2), padding=0),
      ELU(),
      Conv2d(64, 128, kernel_size=(2, 2), padding=0),
      Tanh(),
      Flatten(1, 3),
      Dropout(0.01),
      Linear(128, 32),
      Sigmoid(),
      Linear(32, 2),
    )


  def forward(self, x):
    return self.model(x)




class EyeTrackModel(nn.Module):
  def __init__(self):
    super(EyeTrackModel, self).__init__()
    self.eye_img_model = EyeImageModel()
    self.position_offset = PositionOffset()


  def forward(self, x):
    eye_img_result = self.eye_img_model(x[0])
    end = torch.cat((eye_img_result, x[1]), dim=1)
    end = torch.reshape(end, (-1, 1, 3, 3))
    end = self.position_offset(end)
    return end

向右滑動(dòng)查看完整代碼

由兩個(gè)小模型組成一個(gè)復(fù)合模型,EyeImageModel 負(fù)責(zé)將眼部圖片轉(zhuǎn)換成兩個(gè)參數(shù),在 EyeTrackModel 中與頭部位置信息組成一個(gè) N*1*3*3 的矩陣,在 PositionOffset 中進(jìn)行卷積操作,并將結(jié)果返回。

03訓(xùn)練數(shù)據(jù)集的獲取

定義好了網(wǎng)絡(luò)結(jié)構(gòu)后,我們需要去獲取足夠的數(shù)據(jù)集,通過(guò) Peppa_Pig_Face_Landmark 這個(gè)項(xiàng)目可以很容易地獲取臉部 98 個(gè)關(guān)鍵點(diǎn)。

610265158/Peppa_Pig_Face_Landmark: A simple face detect and alignment method, which is easy and stable. (github.com)

通過(guò)讓目光跟隨鼠標(biāo)位置,實(shí)時(shí)獲取圖片與鼠標(biāo)位置并進(jìn)行保存,我們便可以快捷地獲取到數(shù)據(jù)集。

為了盡量保持有效信息的占比,我們先分別截取兩個(gè)眼睛的圖片后 再拼接成一張圖片,即刪去鼻梁部分的位置,再進(jìn)行保存,通過(guò)這種方法可以一定程度減少由頭部偏轉(zhuǎn)帶來(lái)眼部圖片的過(guò)度畸變。

def save_img_and_coords(img, coords, annot, saved_img_index):
  img_save_path = './dataset/img/' + '%d.png' % saved_img_index
  annot_save_path = './dataset/annot/' + '%d.txt' % saved_img_index
  cv2.imwrite(img_save_path, img)
  np.savetxt(annot_save_path, np.array([*coords, *annot]))
  print("[INFO] | SAVED:", saved_img_index)

向右滑動(dòng)查看完整代碼

def trim_eye_img(image, face_kp):
  """
  :param image: [H W C] 格式人臉圖片
  :param face_kp: 面部關(guān)鍵點(diǎn)
  :return: 拼接后的圖片 [H W C] 格式
  """
  l_l, l_r, l_t, l_b = return_boundary(face_kp[60:68])
  r_l, r_r, r_t, r_b = return_boundary(face_kp[68:76])
  left_eye_img = image[int(l_t):int(l_b), int(l_l):int(l_r)]
  right_eye_img = image[int(r_t):int(r_b), int(r_l):int(r_r)]
  left_eye_img = cv2.resize(left_eye_img, (64, 32), interpolation=cv2.INTER_AREA)
  right_eye_img = cv2.resize(right_eye_img, (64, 32), interpolation=cv2.INTER_AREA)
  return np.concatenate((left_eye_img, right_eye_img), axis=1)

向右滑動(dòng)查看完整代碼

這一步將保存的文件命名為 index.png 和 index.txt,并保存在 /img 和 /annot 兩個(gè)子文件夾中。

需要注意的是,使用 cv2.VideoCapture() 的時(shí)候,獲取的圖片默認(rèn)是(640,480)大小的。經(jīng)過(guò) FaceLandMark 后得到的眼部圖片過(guò)于模糊,因此需要手動(dòng)指定攝像頭的分辨率:

vide_capture = cv2.VideoCapture(1)
vide_capture.set(cv2.CAP_PROP_FRAME_WIDTH, HEIGHT)
vide_capture.set(cv2.CAP_PROP_FRAME_HEIGHT, WEIGHT)

向右滑動(dòng)查看完整代碼

04簡(jiǎn)單的 DataLoader

由于每個(gè)樣本圖片的大小只有 32 x 128, 相對(duì)來(lái)說(shuō)比較小,因此就干脆直接全部加載到內(nèi)存中:

def EpochDataLoader(path, batch_size=64):
  """
  :param path: 數(shù)據(jù)集的根路徑
  :param batch_size: batch_size
  :return: epoch_img, epoch_annots, epoch_coords:
[M, batch_size, C, H, W], [M, batch_size, 7], [M, batch_size, 2]
  """
  epoch_img, epoch_annots, epoch_coords = [], [], []
  all_file_name = os.listdir(path + "img/") # get all file name -> list
  file_num = len(all_file_name)
  batch_num = file_num // batch_size


  for i in range(batch_num): # how many batch
    curr_batch = all_file_name[batch_size * i:batch_size * (i + 1)]
    batch_img, batch_annots, batch_coords = [], [], []
    for file_name in curr_batch:


      img = cv2.imread(str(path) + "img/" + str(file_name)) # [H, W, C] format
      img = img.transpose((2, 0, 1))
      img = img / 255 # [C, H, W] format
      data = np.loadtxt(str(path) + "annot/" + str(file_name).split(".")[0] + ".txt")
      annot_mora, coord_mora = np.array([1920, 1080, 1920, 1080, 1, 1, 1.4]), np.array([1920, 1080])
      annot, coord = data[2:]/annot_mora, data[:2]/coord_mora


      batch_img.append(img)
      batch_annots.append(annot)
      batch_coords.append(coord)


    epoch_img.append(batch_img)
    epoch_annots.append(batch_annots)
    epoch_coords.append(batch_coords)


  epoch_img = torch.from_numpy(np.array(epoch_img)).float()
  epoch_annots = torch.from_numpy(np.array(epoch_annots)).float()
  epoch_coords = torch.from_numpy(np.array(epoch_coords)).float()
  return epoch_img, epoch_annots, epoch_coords

向右滑動(dòng)查看完整代碼

這個(gè)函數(shù)可以一次性返回所有的樣本。

05定義損失函數(shù)并訓(xùn)練

由于網(wǎng)絡(luò)輸出的結(jié)果是 N 個(gè)二維坐標(biāo),因此直接使用 torch.nn.MSELoss() 作為損失函數(shù)。

def eye_track_train():
  img, annot, coord = EpochDataLoader(TRAIN_DATASET_PATH, batch_size=TRAIN_BATCH_SIZE)
  batch_num = img.size()[0]
  model = EyeTrackModel().to(device).train()
  loss = torch.nn.MSELoss()
  optim = torch.optim.SGD(model.parameters(), lr=LEARN_STEP)
  writer = SummaryWriter(LOG_SAVE_PATH)


  trained_batch_num = 0
  for epoch in range(TRAIN_EPOCH):
    for batch in range(batch_num):
      batch_img = img[batch].to(device)
      batch_annot = annot[batch].to(device)
      batch_coords = coord[batch].to(device)
      # infer and calculate loss
      outputs = model((batch_img, batch_annot))
      result_loss = loss(outputs, batch_coords)
      # reset grad and calculate grad then optim model
      optim.zero_grad()
      result_loss.backward()
      optim.step()
      # save loss and print info
      trained_batch_num += 1
      writer.add_scalar("loss", result_loss.item(), trained_batch_num)
      print("[INFO]: trained epoch num | trained batch num | loss "
         , epoch + 1, trained_batch_num, result_loss.item())
    if epoch % 100 == 0:
      torch.save(model, "../model/ET-" + str(epoch) + ".pt")
  # save model
  torch.save(model, "../model/ET-last.pt")
  writer.close()
  print("[SUCCEED!] model saved!")

向右滑動(dòng)查看完整代碼

訓(xùn)練過(guò)程中每 100 輪都會(huì)保存一次模型,訓(xùn)練結(jié)束后也會(huì)進(jìn)行保存。

06通過(guò)導(dǎo)出為 ONNX 模型

通過(guò) torch.onnx.export() 我們便可以很方便導(dǎo)出 onnx 模型。

def export_onnx(model_path, if_fp16=False):
  """
  :param model_path: 模型的路徑
:param if_fp16: 是否要將模型壓縮為 FP16 格式
:return: 模型輸出路徑
  """
  model = torch.load(model_path, map_location=torch.device('cpu')).eval()
  print(model)
  model_path = model_path.split(".")[0]
  dummy_input_img = torch.randn(1, 3, 32, 128, device='cpu')
  dummy_input_position = torch.randn(1, 7, device='cpu')
  torch.onnx.export(model, [dummy_input_img, dummy_input_position], model_path + ".onnx", export_params=True)
  model = mo.convert_model(model_path + ".onnx", compress_to_fp16=if_fp16) # if_fp16=False, output = FP32
  serialize(model, model_path + ".xml")
  print(EyeTrackModel(), "
[FINISHED] CONVERT DONE!")
  return model_path + ".xml"

向右滑動(dòng)查看完整代碼

07使用 OpenVINO 的 NNCF 工具進(jìn)行 int8 量化

Neural Network Compression Framework (NNCF) provides a new post-training quantization API available in Python that is aimed at reusing the code for model training or validation that is usually available with the model in the source framework, for example, PyTorch* or TensroFlow*. The API is cross-framework and currently supports models representing in the following frameworks: PyTorch, TensorFlow 2.x, ONNX, and OpenVINO.

Post-training Quantization with NNCF (new) — OpenVINO documentation[1]

通過(guò) OpenVINO 的官方文檔我們可以知道:Post-training Quantization with NNCF分為兩個(gè)子模塊:

Basic quantization

Quantization with accuracy control

def basic_quantization(input_model_path):
  # prepare required data
  data = data_source(path=DATASET_ROOT_PATH)
  nncf_calibration_dataset = nncf.Dataset(data, transform_fn)
  # set the parameter of how to quantize
  subset_size = 1000
  preset = nncf.QuantizationPreset.MIXED
  # load model
  ov_model = Core().read_model(input_model_path)
  # perform quantize
  quantized_model = nncf.quantize(ov_model, nncf_calibration_dataset, preset=preset, subset_size=subset_size)
  # save model
  output_model_path = input_model_path.split(".")[0] + "_BASIC_INT8.xml"
  serialize(quantized_model, output_model_path)




def accuracy_quantization(input_model_path, max_drop):
  # prepare required data
  calibration_source = data_source(path=DATASET_ROOT_PATH, with_annot=False)
  validation_source = data_source(path=DATASET_ROOT_PATH, with_annot=True)
  calibration_dataset = nncf.Dataset(calibration_source, transform_fn)
  validation_dataset = nncf.Dataset(validation_source, transform_fn_with_annot)
  # load model
  xml_model = Core().read_model(input_model_path)
  # perform quantize
  quantized_model = nncf.quantize_with_accuracy_control(xml_model,
                             calibration_dataset=calibration_dataset,
                             validation_dataset=validation_dataset,
                             validation_fn=validate,
                             max_drop=max_drop)
  # save model
  output_model_path = xml_model_path.split(".")[0] + "_ACC_INT8.xml"
  serialize(quantized_model, output_model_path)




def export_onnx(model_path, if_fp16=False):
  """
  :param model_path: the path that will be converted
  :param if_fp16: if the output onnx model compressed to fp16
  :return: output xml model path
  """
  model = torch.load(model_path, map_location=torch.device('cpu')).eval()
  print(model)
  model_path = model_path.split(".")[0]
  dummy_input_img = torch.randn(1, 3, 32, 128, device='cpu')
  dummy_input_position = torch.randn(1, 7, device='cpu')
  torch.onnx.export(model, [dummy_input_img, dummy_input_position], model_path + ".onnx", export_params=True)
  model = mo.convert_model(model_path + ".onnx", compress_to_fp16=if_fp16) # if_fp16=False, output = FP32
  serialize(model, model_path + ".xml")
  print(EyeTrackModel(), "
[FINISHED] CONVERT DONE!")
  return model_path + ".xml"

向右滑動(dòng)查看完整代碼

這里需要注意的是 nncf.Dataset (calibration_source, transform_fn) 這一部分,calibration_source 所返回的必須是一個(gè)可迭代對(duì)象,每次迭代返回的是一個(gè)訓(xùn)練樣本 [1, C, H, W],transform_fn 則是對(duì)這個(gè)訓(xùn)練樣本作轉(zhuǎn)換(比如改變通道數(shù),交換 H, W)這里的操作是進(jìn)行歸一化,并轉(zhuǎn)換為 numpy。

08量化后的性能提升

測(cè)試的硬件平臺(tái) 12700H。

這種小模型通過(guò) OpenVINO NNCF 方法量化后可以獲得很明顯的性能提升:

benchmark_app -m ET-last_ACC_INT8.xml -d CPU -api async
[ INFO ] Execution Devices:['CPU'] [ INFO ] Count: 226480 iterations [ INFO ] Duration: 60006.66 ms [ INFO ] Latency: [ INFO ] Median: 3.98 ms [ INFO ] Average: 4.18 ms [ INFO ] Min: 2.74 ms [ INFO ] Max: 38.98 ms [ INFO ] Throughput: 3774.25 FPS benchmark_app -m ET-last_INT8.xml -d CPU -api async
[ INFO ] Execution Devices:['CPU'] [ INFO ] Count: 513088 iterations [ INFO ] Duration: 60002.85 ms [ INFO ] Latency: [ INFO ] Median: 1.46 ms [ INFO ] Average: 1.76 ms [ INFO ] Min: 0.82 ms [ INFO ] Max: 61.07 ms [ INFO ] Throughput: 8551.06 FPS

向右滑動(dòng)查看

09在 AIxBoard愛(ài)克斯板開(kāi)發(fā)者套件上進(jìn)行部署

由于 AlxBoard 上已經(jīng)安裝好了 Python,因此只需要再安裝 OpenVINO 即可。

下載英特爾發(fā)行版 OpenVINO 工具套件 (intel.cn)[2]

然后在項(xiàng)目的根目錄執(zhí)行 python eye_track.py 即可查看到網(wǎng)絡(luò)的推理結(jié)果,如下圖所示。

b26aed88-53ab-11ee-a25d-92fbcf53809c.png

性能概覽:

b2ae24ea-53ab-11ee-a25d-92fbcf53809c.png

在iGPU上的運(yùn)行性能

b2def318-53ab-11ee-a25d-92fbcf53809c.png

在CPU上運(yùn)行的性能

總結(jié)

OpenVINO 提供了一個(gè)方便快捷的開(kāi)發(fā)方式,通過(guò)幾個(gè)核心的API便可實(shí)現(xiàn)模型轉(zhuǎn)換和模型量化。

AIxBoard 基于 x86 架構(gòu)提供了一個(gè)高通用、高性能的部署平臺(tái),體積小巧,非常適合項(xiàng)目的最終部署。

自訓(xùn)練 Pytorch 模型在通過(guò) OpenVINO 的模型優(yōu)化工具優(yōu)化后,使用 OpenVINO Runtime 進(jìn)行推理,對(duì)于如上文所示的小模型可以獲得巨大的性能提升,并且推理過(guò)程簡(jiǎn)單清晰。在開(kāi)發(fā)板上推理僅需幾個(gè)核心函數(shù)便可實(shí)現(xiàn)基于自訓(xùn)練 Pytorch 模型的推理。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19404

    瀏覽量

    231071
  • 英特爾
    +關(guān)注

    關(guān)注

    61

    文章

    10007

    瀏覽量

    172285
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5121

    瀏覽量

    98112
  • 開(kāi)發(fā)套件
    +關(guān)注

    關(guān)注

    2

    文章

    157

    瀏覽量

    24328
  • OpenVINO
    +關(guān)注

    關(guān)注

    0

    文章

    95

    瀏覽量

    222

原文標(biāo)題:基于 OpenVINO? 在英特爾開(kāi)發(fā)套件上實(shí)現(xiàn)眼部追蹤 | 開(kāi)發(fā)者實(shí)戰(zhàn)

文章出處:【微信號(hào):英特爾物聯(lián)網(wǎng),微信公眾號(hào):英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    介紹英特爾?分布式OpenVINO?工具包

    性能。 英特爾?OpenlandOpen?管理軟件包包括英特爾?深度學(xué)習(xí)部署工具包(英特爾?DLDT)。適用于Linux *的OpenVINO?工具包的
    發(fā)表于 07-26 06:45

    OpenVINO工具套件是否可以商業(yè)化使用?

    參閱 英特爾? OpenVINO?分銷(xiāo)許可第 2.1 節(jié)(2021 年 5 月版本)。 無(wú)法了解英特爾? 發(fā)行版 OpenVINO? 工具套件
    發(fā)表于 08-15 08:19

    安裝OpenVINO工具套件英特爾Distribution時(shí)出現(xiàn)錯(cuò)誤的原因?

    安裝OpenVINO?工具套件英特爾 Distribution時(shí),出現(xiàn)錯(cuò)誤: Python 3.10.0.ECHO is off. Unsupported Python version.
    發(fā)表于 08-15 08:14

    英特爾82801HM IO控制器開(kāi)發(fā)套件

    英特爾 82801HM I/O 控制器開(kāi)發(fā)套件英特爾 凌動(dòng) 處理器系列包括板載處理器,該處理器采用 45 納米制程技術(shù)的集成優(yōu)化圖形和內(nèi)存控制器,與上一代英特爾 凌動(dòng) 處理器 N2
    發(fā)表于 12-07 14:05 ?29次下載
    <b class='flag-5'>英特爾</b>82801HM IO控制器<b class='flag-5'>開(kāi)發(fā)套件</b>

    英特爾QM57高速芯片組開(kāi)發(fā)套件

    英特爾酷睿處理器系列和移動(dòng)式英特爾QM57高速芯片組開(kāi)發(fā)套件采用行業(yè)標(biāo)準(zhǔn)的x86架構(gòu),擁有智能性能、優(yōu)異能效、集成顯卡和糾錯(cuò)編碼(ECC)內(nèi)存。這些集成的雙芯片平臺(tái)不僅可提供卓越
    發(fā)表于 12-07 14:06 ?50次下載
    <b class='flag-5'>英特爾</b>QM57高速芯片組<b class='flag-5'>開(kāi)發(fā)套件</b>

    英特爾BOOT Loader開(kāi)發(fā)套件-高級(jí)嵌入式開(kāi)發(fā)基礎(chǔ)

    從技術(shù)角度概括介紹用于快速開(kāi)發(fā)和部署啟動(dòng)加載器的英特爾 Boot Loader 開(kāi)發(fā)套件(英特爾 BLDK),該套件基于
    發(fā)表于 12-07 14:57 ?59次下載
    <b class='flag-5'>英特爾</b>BOOT Loader<b class='flag-5'>開(kāi)發(fā)套件</b>-高級(jí)嵌入式<b class='flag-5'>開(kāi)發(fā)</b>基礎(chǔ)

    英特爾945GME高速芯片組開(kāi)發(fā)套件

    英特爾945GME高速芯片組開(kāi)發(fā)套件是多種低功耗嵌入式應(yīng)用,如工業(yè)自動(dòng)化,測(cè)試和儀表、航空、國(guó)防和醫(yī)療成像系統(tǒng)的開(kāi)發(fā)人員的理想選擇
    發(fā)表于 12-08 10:15 ?47次下載
    <b class='flag-5'>英特爾</b>945GME高速芯片組<b class='flag-5'>開(kāi)發(fā)套件</b>

    英特爾的945GME高速芯片組開(kāi)發(fā)套件

    英特爾的945GME高速芯片組開(kāi)發(fā)套件
    發(fā)表于 10-30 11:57 ?3次下載

    使用英特爾物聯(lián)網(wǎng)商業(yè)開(kāi)發(fā)套件改變世界

    使用英特爾?物聯(lián)網(wǎng)商業(yè)開(kāi)發(fā)套件改變世界。
    的頭像 發(fā)表于 05-31 10:06 ?1845次閱讀

    最新版英特爾? SoC FPGA 嵌入式開(kāi)發(fā)套件(SoC EDS)全面的工具套件

    使用內(nèi)置于英特爾? SoC FPGA 開(kāi)發(fā)套件(也可以用作外部 JTAG 調(diào)試線纜)的英特爾? FPGA Download Cable II 執(zhí)行裸機(jī)調(diào)試從 Platform Designer
    的頭像 發(fā)表于 11-20 09:34 ?7095次閱讀

    英特爾? FPGA AI套件搭配OpenVINO?工具包

    您可以使用英特爾 分發(fā)版 OpenVINO 工具包和英特爾 FPGA AI 套件開(kāi)發(fā)推理系統(tǒng),服務(wù)于從 DL 增強(qiáng)型嵌入式系統(tǒng)一直到
    的頭像 發(fā)表于 08-11 11:53 ?1114次閱讀

    基于英特爾開(kāi)發(fā)套件的AI字幕生成器設(shè)計(jì)

    市面上有很多自然語(yǔ)言處理模型,本文旨在幫助開(kāi)發(fā)者快速將 OpenAI* 的熱門(mén) NLP 模型 Whisper 部署至英特爾 開(kāi)發(fā)套件愛(ài)克斯開(kāi)發(fā)
    的頭像 發(fā)表于 09-27 16:59 ?932次閱讀
    基于<b class='flag-5'>英特爾</b><b class='flag-5'>開(kāi)發(fā)套件</b>的AI字幕生成器設(shè)計(jì)

    基于英特爾? QuickAssist的?EP80579集成處理器開(kāi)發(fā)套件

    采用英特爾? QuickAssist 技術(shù)的英特爾? EP80579 集成處理器的開(kāi)發(fā)套件使客戶(hù)能夠?yàn)榍度胧健⒋鎯?chǔ)和通信應(yīng)用創(chuàng)建新一代解決方案。該處理器采用片系統(tǒng) (SOC) 處理器
    發(fā)表于 11-14 08:32 ?0次下載
    基于<b class='flag-5'>英特爾</b>? QuickAssist的?EP80579集成處理器<b class='flag-5'>開(kāi)發(fā)套件</b>

    基于英特爾哪吒開(kāi)發(fā)套件平臺(tái)來(lái)快速部署OpenVINO Java實(shí)戰(zhàn)

    OpenVINO 工具套件基于OneAPI開(kāi)發(fā),可以加快高性能計(jì)算機(jī)視覺(jué)和深度學(xué)習(xí)應(yīng)用開(kāi)發(fā)速度的工具套件,適用于從邊緣到云的各種
    的頭像 發(fā)表于 03-21 18:24 ?1593次閱讀
    基于<b class='flag-5'>英特爾</b>哪吒<b class='flag-5'>開(kāi)發(fā)</b>者<b class='flag-5'>套件</b>平臺(tái)來(lái)快速部署<b class='flag-5'>OpenVINO</b> Java實(shí)戰(zhàn)

    使用英特爾哪吒開(kāi)發(fā)套件部署YOLOv5完成透明物體目標(biāo)檢測(cè)

    英特爾的哪吒(Nezha)開(kāi)發(fā)套件是一款專(zhuān)為邊緣AI和物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)的高性能計(jì)算平臺(tái),搭載了英特爾 N97處理器、內(nèi)置英特爾 UHD Graphics GPU,并提供高達(dá)8GB LPD
    的頭像 發(fā)表于 11-25 17:15 ?289次閱讀
    使用<b class='flag-5'>英特爾</b>哪吒<b class='flag-5'>開(kāi)發(fā)套件</b>部署YOLOv5完成透明物體目標(biāo)檢測(cè)