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

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

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

使用NVIDIA Jetson開發(fā)AI數(shù)字健康應用程序

星星科技指導員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-04-27 10:02 ? 次閱讀

傳統(tǒng)的醫(yī)療保健系統(tǒng)有大量的病人數(shù)據(jù),包括生理信號、醫(yī)療記錄、提供者注釋和評論。開發(fā)數(shù)字健康應用程序所面臨的最大挑戰(zhàn)是分析大量可用數(shù)據(jù),得出可操作的見解,以及開發(fā)可在嵌入式設備上運行的解決方案。

在開發(fā)這樣的端到端解決方案時,從事生物醫(yī)學數(shù)據(jù)集工作的工程師和數(shù)據(jù)科學家經(jīng)常遇到挑戰(zhàn),因為他們必須手動集成應用程序代碼,與必要的工具鏈集成以進行部署,在許多情況下,還必須重寫代碼以在目標硬件上運行應用程序。如果算法不能產(chǎn)生預期的結果,他們必須調(diào)試底層案例,這可能會很耗時。

這篇文章討論了數(shù)據(jù)科學家和工程師如何使用 NVIDIA gpu 為生物醫(yī)學應用開發(fā)基于人工智能的數(shù)字健康算法原型,并在嵌入式物聯(lián)網(wǎng)和邊緣人工智能平臺(如 NVIDIA Jetson 開關 )上部署這些算法。您還可以使用 MathWorks GPU 編碼器在 Jetson 上部署預測管道。

解決的目標是訓練一個分類器來區(qū)分心律失常( ARR )、充血性心力衰竭( CHF )和正常竇性心律( NSR )。本教程使用從以下三個組或類獲得的 ECG 數(shù)據(jù):

心律失?;颊?/p>

充血性心力衰竭患者

竇性心律正常的人

該示例使用 來自三個 PhysioNet 數(shù)據(jù)庫的 162 個心電圖記錄 ,每個記錄有 65536 個樣本:

MIT-BIH 心律失常數(shù)據(jù)庫: 96 次記錄

BIDMC 充血性心力衰竭數(shù)據(jù)庫: 30 個記錄

正常竇性心律數(shù)據(jù)庫: 36 次錄音

要運行此示例,您需要以下資源:

MATLAB

小波工具箱

訊號處理工具箱

并行計算工具箱

GPU 編碼器

MATLAB 編碼器

NVIDIA GPU 的 GPU 編碼器支持包

請求產(chǎn)品試用 或發(fā)送電子郵件至 medical@mathworks.com 。

開發(fā)基于人工智能的數(shù)字健康應用程序的總體工作流程

建立心電信號預測模型的方法很多。這篇文章的重點是探索一個簡化的工作流程,它結合了信號處理方面的進展,并利用了在開發(fā)卷積神經(jīng)網(wǎng)絡( CNNs )和 ECG 信號分類的深度學習體系結構方面已經(jīng)完成的大量工作。圖 1 顯示了整個工作流。

poYBAGJopB2Adc1cAACVGqYJ5H4650.jpg

圖 1 基于人工智能的數(shù)字健康應用的總體工作流程。

這里的主要思想是從 ECG 信號生成時頻表示,并將這些表示保存為圖像。 ECG 的時頻表示捕獲了 spe CTR al 成分隨時間的變化。這些圖像可以用來訓練卷積神經(jīng)網(wǎng)絡( CNNs )。 CNNs 可以從圖像中的模式( ECG 信號的時頻表示)中提取特征,并且可以建立一個模型來區(qū)分屬于不同類別的 ECG 信號。

開發(fā)模型之后,就可以在嵌入式硬件(如 Jetson )上部署 pipeline : time-frequency 表示和經(jīng)過訓練的模型,以便使用 GPU 編碼器對新信號執(zhí)行推斷。 GPU 編碼器根據(jù) MATLAB 算法自動生成優(yōu)化的 CUDA 代碼。

使用 NVIDIA Quadro RTX 6000 加速時頻表示

下面是如何從 ECG 記錄中生成時頻表示。雖然 MATLAB 中有幾種方法可以從信號中生成時頻表示,但我們強烈建議使用連續(xù)小波變換( CWT ),因為它簡單且能夠從信號中生成清晰的時頻表示。由此產(chǎn)生的時頻表示也被稱為 scalogram 。

CWT 是通過對信號進行加窗處理而得到的,小波經(jīng)過時間縮放和移位。小波是振蕩的,可以是復值的。對原型小波進行了尺度變換和移位運算。 CWT 中使用的縮放可收縮和拉伸原型小波:

縮小原型子波可以產(chǎn)生短時間、高頻子波,這些子波能夠很好地檢測瞬態(tài)事件。

拉伸原型子波會產(chǎn)生長持續(xù)時間的低頻子波,這些子波擅長于隔離長持續(xù)時間的低頻事件。

pYYBAGJopB6ADk6qAAHDOCtNgdI776.png

圖 2 正常竇性心律( NSR )和充血性心力衰竭( CHF )的標度圖。

擁有這樣清晰的時頻表示可能很有用,因為深度網(wǎng)絡或 cnn 擅長從這種表示中提取特征并建立預測模型。使用清晰的時頻表示法的另一個好處是,它使您能夠構建模型來捕捉細微的變化,這些變化反過來有助于區(qū)分許多信號類別,即使這些信號看起來相似。

為了加快比例圖的生成過程,如果將輸入變量轉換為 gpuArray 類型,則可以在 gpu 上運行 MATLAB 函數(shù)。然后可以使用 gather 函數(shù)從 GPU 檢索輸出數(shù)據(jù)。為了加快尺度圖的生成過程,使用函數(shù) cwtfilterbank 創(chuàng)建一次小波濾波器組,然后使用 cwtfilterbank 的小波變換方法生成時頻表示。

我們使用 NVIDIA Quadro RTX 6000 來計算標度圖,并且能夠?qū)崿F(xiàn)約 6.5 倍的加速。使用的 CPUIntel Xeon CPU E5-1650 v4 @ 3 .60 GHz ,帶有 64 GB RAM 。

useGPU = false;
tic;
X = helperTimeScalogramConversion(ECGData, useGPU);
Tcpu = toc;
 
 
function X = helperTimeScalogramConversion(ECGData, useGPU)
 
data = ECGData.Data;
[Nsamples,signalLength] = size(data);
 
fb = cwtfilterbank('SignalLength',signalLength,'VoicesPerOctave',12);
X = zeros(numel(fb.scales), signalLength, Nsamples);
 
r = size(data,1);
 
if useGPU
    data = single(gpuArray(data));
else
    data = single(data);
end
 
for ii = 1:r
    cfs = abs(fb.wt(data(ii,:)));
    X(:,:,ii) = gather(cfs);
 
end
end
Using GPU: false
Number of signals: 162
-------------------------------------
Total execution time Tcpu =   67.32 s
-------------------------------------
Using GPU: true
Number of signals: 162
-------------------------------------
Total execution time Tgpu =   10.28 s
-------------------------------------

圖 3 CPU 與 GPU 的比例圖執(zhí)行速度。

從命令行輸出和生成的繪圖中,您可以看到使用 gpu 會導致顯著的加速( 6 。 5 倍)。當您有多個信號時,這將非常有用。稍后,您將看到,在 GPU 上生成比例圖的能力將是在 Jetson 平臺上開發(fā)應用程序的關鍵因素。

利用 Quadro RTX 6000 訓練 CNNs 對心電信號進行分類

現(xiàn)在您已經(jīng)有了 ECG 信號的時頻圖像,您可以在預訓練的深度學習網(wǎng)絡上應用轉移學習來構建分類器。在這個例子中, retain SqueezeNet 是一個 18 層的深度網(wǎng)絡,它訓練了超過一百萬張圖像。這是一個輕量級的網(wǎng)絡,具有更低的內(nèi)存占用和更好的推理速度,這些特性非常適合嵌入式部署。該網(wǎng)絡最初訓練了 1000 個圖像類,但是您可以使用三個 ECG 圖像類數(shù)據(jù)集對網(wǎng)絡進行微調(diào),以構建新的分類器。

首先,檢查原始網(wǎng)絡,它包含 18 層,包括卷積、 ReLU 和 fire block (卷積和 ReLU 層的組合)。圖 4 顯示了通過運行以下命令在 MATLAB 中顯示的層的代碼示例:

analyzeNetwork(squeezeNet)

圖 4 擠壓網(wǎng)網(wǎng)絡結構。

為了重新訓練 SqueezeNet 對三類 ECG 信號進行分類,用一個新的卷積層替換最后的 conv10 層,濾波器的數(shù)目等于 ECG 類的數(shù)目。另外,用一個沒有類標簽的新層替換分類層。

sqz = squeezenet;
lgraph = layerGraph(sqz);
lgraph.Layers(end-4:end)

圖 5 最后 5 層原擠壓網(wǎng)。
numClasses = 3; % Number of ECG signal classes new_conv10_WeightLearnRateFactor = 1;
new_conv10_BiasLearnRateFactor = 1;
newConvLayer = convolution2dLayer(1,numClasses,...
        'Name','new_conv10',...
        'WeightLearnRateFactor',new_conv10_WeightLearnRateFactor,...
        'BiasLearnRateFactor',new_conv10_BiasLearnRateFactor);
lgraph = replaceLayer(lgraph,'conv10',newConvLayer);
newClassLayer = classificationLayer('Name','new_classoutput');
lgraph = replaceLayer(lgraph,'ClassificationLayer_predictions',newClassLayer);
lgraph.Layers(end-4:end)

圖 6 擠壓網(wǎng)的改良層。

圖 7 以 jpeg 格式保存的 ECG 信號的時頻表示。

對于深度學習培訓,現(xiàn)在可以將保存為 JPEG 的 ECG 標度圖數(shù)據(jù)的圖像加載到相應的文件夾 ARR 、 CHF 和 NSR 中(圖 7 )。有關用于將比例圖數(shù)據(jù)保存為 JPEG 圖像的腳本的詳細信息,請參閱 基于小波分析和深度學習的時間序列分類 。

imageDatastore 函數(shù)用于為這些圖像創(chuàng)建一個圖像數(shù)據(jù)存儲,其標簽名稱來自各個文件夾名稱,并分為訓練( 70% )、驗證( 10% )和測試( 20% )子集。您還將 readFcn 對象與數(shù)據(jù)存儲相關聯(lián),以自動將圖像大小調(diào)整為 227x227x3 ,并滿足 squezenet 輸入圖像的要求。

readFcn = @(imagefilename)imresize(imread(imagefilename), [227 227]); 
imds = imageDatastore('../data', 'LabelSource', 'foldernames', ...             
                     'IncludeSubFolder', true, 'readFcn', readFcn);  
[imgsTrain, imgsValidation, imgsTest ]  = splitEachLabel(imds, 0.7, 0.1, 0.2); 

下一步是定義訓練超參數(shù)并通過網(wǎng)絡進行訓練。如果安裝了 GPU , MATLAB 會自動在 GPU 上縮放訓練。要在沒有 GPU 的情況下進行訓練(不推薦),請使用多個 GPU 或在云端擴展訓練。您可以通過調(diào)整 trainingOptions 中的 ExecutionEnvironment 參數(shù)來實現(xiàn)。

options = trainingOptions('sgdm',...
    'MiniBatchSize',15,...
    'MaxEpochs',20,...
    'InitialLearnRate',1e-4,...
    'ValidationData',imgsValidation,...
    'ValidationFrequency',10,...
    'Momentum',0.9,...
    'ExecutionEnvironment', 'auto');

trainedModel = trainNetwork(imgsTrain,lgraph,options);

我們用 NVIDIA Quadro RTX 6000 訓練這個網(wǎng)絡。圖 8 顯示訓練網(wǎng)絡只花了 23 秒。與 CPU 上的訓練時間相比,這要快得多(~ 6 倍)。當使用 gpu 時, MATLAB 自動使用 CUDA 和 cuDNN 庫來加速訓練。然而,值得一提的是,我們只處理了 162 幅時頻圖像,因此,整個訓練時間相當少。與 CPU 相比, GPU 的訓練時間性能隨著訓練數(shù)據(jù)量的增加而提高。

圖 8 在 GPU ( 23 秒)和單 CPU ( 2 分 1 秒)上訓練深度學習模型。

現(xiàn)在你已經(jīng)有了一個訓練過的模型,你可以通過推斷測試圖像數(shù)據(jù)集來驗證準確度,這是新模型從未見過的。我們訓練了一個準確度》 95% 的模型,只有一次錯誤分類。

predictedLabels = classify(trainedModel, imgsTest);

accuracy = sum(predictedLabels == imgsTest.Labels) / numel(predictedLabels);

confusionchart(imgsTest.Labels, predictedLabels)

title(“Confusion Matrix, Accuracy ” + accuracy*100 + “%”)

圖 9 訓練模型上測試數(shù)據(jù)集的混淆矩陣。

在 Jetson 上部署數(shù)字健康物聯(lián)網(wǎng)應用程序

既然您已經(jīng)培訓并構建了您的 AI 應用程序,現(xiàn)在是部署的時候了。 NVIDIA Jetson 平臺提供小型、節(jié)能的模塊上系統(tǒng),具有高計算性能和云本地功能,是部署數(shù)字健康物聯(lián)網(wǎng)應用程序的理想選擇。您可以在 Jetson 平臺上部署整個管道(時頻生成和擠壓網(wǎng)預測),以便它可以獨立運行算法。

在本例中,從 IO 模塊讀入實時 ECG 信號,使用 CWT 將信號轉換為時頻圖像,最后將圖像通過經(jīng)過訓練的深度學習網(wǎng)絡進行推理。所有這些步驟都是實時執(zhí)行的,因此在獲取 ECG 信號和獲得推斷結果之間沒有延遲。

利用 GPU 編碼器, MATLAB 提供了一個將各種信號處理、小波分析、圖像處理和深度學習算法轉換為優(yōu)化的 CUDA 代碼的自動化途徑,可以直接在 Jetson 平臺上投入生產(chǎn)。

第一步,將 AI 應用程序打包成 MATLAB 函數(shù),就像它在部署版本中運行一樣。如代碼示例所示,函數(shù) model_predict_ecg 接收 65536 個樣本的 ECG 信號作為輸入,將其傳遞給函數(shù) cwt_ecg_jetson_ex 將其轉換為時頻圖像,將其傳遞給經(jīng)過訓練的深度學習網(wǎng)絡,最后提供所有不同 ECG 類別的概率分數(shù)作為輸出。

%% MATLAB functions for deployment
function PredClassProb = model_predict_ecg(TimeSeriesSignal)
 
    coder.gpu.kernelfun();
   
    % parameters
    ModFile = 'ecg_model.mat'; % file that saves neural network
    ImgSize = [227 227]; % input image size for the ML model
   
    % sanity check signal is a row vector of correct length
    assert(isequal(size(TimeSeriesSignal), [1 65536]))
 
    %% cwt transformation for the signal
    im = cwt_ecg_jetson_ex(TimeSeriesSignal, ImgSize);
   
    %% model prediction
    persistent model;
    if isempty(model)
        model = coder.loadDeepLearningNetwork(ModFile, 'mynet');
    end
 
    PredClassProb = predict(model, im);
   
end
 
function im = cwt_ecg_jetson_ex(TimeSeriesSignal, ImgSize)
 
coder.gpu.kernelfun();
 
%% Create scalogram
cfs = cwt(TimeSeriesSignal, 'morse', 1, 'VoicesPerOctave', 12);
cfs = abs(cfs);
 
%% Image generation
 
% Load the jet colormap generated and saved earlier using the commands:
% >> cmapj128 = jet(128); save(‘cmapj128.mat’, ‘cmapj128’);
 
cmapj128 = coder.load('cmapj128');
imx = ind2rgb_custom_ecg_jetson_ex(round(255*rescale(cfs))+1,cmapj128.cmapj128);
 
% Resize to proper size and convert to uint8 data type
im = im2uint8(imresize(imx, ImgSize));
 
end
 
function out = ind2rgb_custom_ecg_jetson_ex(a, cm)
  
   indexedImage = a;
  
   % Make sure that indexedImage is in the range from 1 to number of colormap
   % entries
   numColormapEntries = size(cm,1);
   indexedImage = max(1, min(indexedImage, numColormapEntries) );
 
   height = size(indexedImage, 1);
   width = size(indexedImage, 2);
  
   rgb = coder.nullcopy(zeros(height,width,3));
   rgb(1:height, 1:width, 1) = reshape(cm(indexedImage, 1), [height width]);
   rgb(1:height, 1:width, 2) = reshape(cm(indexedImage, 2), [height width]);
   rgb(1:height, 1:width, 3) = reshape(cm(indexedImage, 3), [height width]);
  
   out = rgb;
 
end

現(xiàn)在您已經(jīng)設置好了函數(shù),從 MATLAB 連接到 Jetson 平臺。 NVIDIA GPU 的 GPU 編碼器支持包支持以下開發(fā)工具包:

NVIDIA Jetson TK1 型

Jetson TX1 型

Jetson TX2 型

Jetson AGX Xavier

Jetson Xavier NX 型

Jetson 納米

它還支持 NVIDIA 驅(qū)動平臺 。下面是連接到 Jetson Nano 平臺并設置配置參數(shù)的代碼示例,用于從前面的函數(shù)生成 CUDA 代碼。

hwobj = jetson('gpucoder-nano-2','username','password');
cfg = coder.gpuConfig('exe');
cfg.Hardware = coder.hardware('NVIDIA Jetson');
cfg.Hardware.BuildDir = '~/remoteBuildDir';
cfg.DeepLearningConfig = coder.DeepLearningConfig('cudnn');
cfg.CustomSource = fullfile('main_ecg_jetson_ex.cu');

指定的代碼示例在代碼生成中包含自定義源文件 main_ecg_jetson_ex.cu 作為參數(shù)。這樣做是為了指定輸入/輸出管道,以便在 Jetson 平臺上測試部署的算法。首先,通過選擇 coder.gpuConfig 對象到 coder.gpuConfig 的 GenerateExampleMain 屬性,為該應用程序生成了示例 main.cu 模板。接下來,您修改了模板 main.cu 文件,包括從文本文件 signalData.txt 中讀取樣本 ECG 信號數(shù)據(jù),并將算法結果寫入另一個文本文件 predClassProb.txt 。修改后的 main.cu 文件另存為 main_ecg_jetson_ex.cu ,僅供參考。

//
// File: main_ecg_jetson_ex.cu
//       
//***********************************************************************
// Include Files
#include "rt_nonfinite.h"
#include "model_predict_ecg.h"
#include "main_ecg_jetson_ex.h"
#include "model_predict_ecg_terminate.h"
#include "model_predict_ecg_initialize.h"
#include 
#include 
#include 
 
// Function Definitions
 
/* Read data from a file*/
int readData_real32_T(const char * const file_in, real32_T data[65536])
{
  FILE* fp1 = fopen(file_in, "r");
  if (fp1 == 0)
  {
    printf("ERROR: Unable to read data from %s
", file_in);
    exit(0);
  }
  for(int i=0; i<65536; i++)
  {
      fscanf(fp1, "%f", &data[i]);
  }
  fclose(fp1);
  return 0;
}
 
/* Write data to a file*/
int writeData_real32_T(const char * const file_out, real32_T data[3])
{
  FILE* fp1 = fopen(file_out, "w");
  if (fp1 == 0)
  {
    printf("ERROR: Unable to write data to %s
", file_out);
    exit(0);
  }
  for(int i=0; i<3; i++)
  {
    fprintf(fp1, "%f
", data[i]);
  }
  fclose(fp1);
  return 0;
}
 
// model predict function
static void main_model_predict_ecg(const char * const file_in, const char * const file_out)
{
  real32_T PredClassProb[3];
  //  real_T b[65536];
  real32_T b[65536];
 
  // readData_real_T(file_in, b);
  readData_real32_T(file_in, b);
      
  model_predict_ecg(b, PredClassProb);
 
  writeData_real32_T(file_out, PredClassProb);
 
}
 
// main function
int32_T main(int32_T argc, const char * const argv[])
{
  const char * const file_out = "predClassProb.txt";
  // Initialize the application.
  model_predict_ecg_initialize();
 
  // Run prediction function
  main_model_predict_ecg(argv[1], file_out); // argv[1] = file_in
 
  // Terminate the application.
  model_predict_ecg_terminate();
  return 0;
}
 
//
// End of file
//

然后執(zhí)行代碼生成命令生成并構建 CUDA 代碼,并將其部署到cfg.Hardware.BuildDir設備上。此命令生成編譯的model_predict_ecg.elf文件,并將其放在代碼生成配置參數(shù) Jetson 中指定的 Jetson 生成目錄路徑上。

inputSignal = coder.newtype('single', [1 65536], [0 0]);
codegen model_predict_ecg.m -args {inputSignal} – config cfg -report

首先,檢查以下自動生成的代碼。自動創(chuàng)建了 30 多個 CUDA 內(nèi)核,用于執(zhí)行時頻圖像轉換和深度學習預測步驟。 GPU 編碼器自動調(diào)用優(yōu)化的 NVIDIA CUDA cuDNN 庫進行深度學習,并調(diào)用 cuBLAS 、 cuFFT 和 cuSolver 庫進行其他矩陣計算。圖 10 顯示了生成的報告 GUI ,它可以用來檢查自動生成的 CUDA 文件,并將生成的 CUDA 代碼追溯到相應的 MATLAB 函數(shù)。

圖 10 GPU 代碼生成報告。

現(xiàn)在已經(jīng)生成了代碼,請在 Jetson 上測試算法的性能。您可以直接從 Jetson 運行生成的可執(zhí)行文件,也可以使用 MATLAB 接口直接從 MATLAB 執(zhí)行應用程序。在本例中,將示例 ECG 數(shù)據(jù)文件 signalData.txt 寫入 Jetson 的工作區(qū)目錄,并在主板的 Linux 終端上執(zhí)行編譯后的應用程序。

sampleIndx = 113; % Chose any ECG record from the ECGData struct for testing
signal_data = ECGData.Data(sampleIndx, :);
ECGType = ECGData.Labels(sampleIndx);
 
fid = fopen('signalData.txt','w');
for i = 1:length(signal_data)
   fprintf(fid,'%f
',signal_data(i));
end
fclose(fid);
 
% Copy the text file to the workspace directory on the Jetson board
hw.putFile('signalData.txt', hwobj.workspaceDir)

圖 11 在 Jetson Nano 終端上執(zhí)行編譯后的應用程序。

打開 Jetson 端子。在工作區(qū)內(nèi),您可以找到復制的 signalData.txt 文件以及編譯的 model_predict_ecg.elf 和文件夾 codegen 。當您多次執(zhí)行應用程序以記錄執(zhí)行速度時,應用程序輸出創(chuàng)建了 predClassProb.txt 輸出文件,其中包含應用程序?qū)斎胄盘栠M行分類的概率分數(shù)。

輸出的文本文件可以在 MATLAB 中重新加載。比較 Jetson 與 MATLAB 在 CPU 上的推理結果。您可以看到,測試信號是正常的竇性心律, Jetson 和 MATLAB 在 NSR 類中的概率得分最高。

% Fetch the result file from Jetson
resultFile = 'predClassProb.txt';
resultFile_hw = fullfile(hwobj.workspaceDir,resultFile);
hwobj.getFile(resultFile_hw)
PredClassProb = readmatrix(resultFile);
PredTableJetson = array2table(PredClassProb(:)','VariableNames',matlab.lang.makeValidName(PredCat));
 
% Execute the function in MALTAB
ModPredProb = model_predict_ecg(signal_data);  
PredTableMATLAB = array2table(ModPredProb(:)','VariableNames',matlab.lang.makeValidName(PredCat));
 
% Display the probability scores from Jetson
disp(PredTableJetson)
 
      ARR         CHF        NSR 
    ________    _______    _______
 
    0.026817    0.17381    0.79937
 
 
% Display the probability scores from MATLAB
disp(PredTableMATLAB)
 
      ARR         CHF        NSR 
    ________    _______    _______
 
    0.026863    0.17401    0.79913

Conclusion

在本文中,我們介紹了如何輕松開發(fā)基于人工智能的數(shù)字健康應用程序,并將這些算法部署到嵌入式物聯(lián)網(wǎng)和邊緣人工智能平臺上,如 NVIDIA Jetson 。該工作流程簡化了使用轉移學習技術開發(fā)生理信號(如 ECG 信號) AI 應用程序的過程。它為開發(fā)此類算法提供了一個良好的起點。

關于作者

Akhilesh Mishra 是 MathWorks 醫(yī)療器械和醫(yī)療保健行業(yè)的高級應用工程師。他擅長于信號/數(shù)據(jù)處理、人工智能和 GPU 計算工作流程。他在 MathWorks 工作了 4 年多。 Akhilesh 擁有堪薩斯大學的碩士學位,在那里他是一個研究探測格陵蘭和南極洲冰原的雷達系統(tǒng)的小組的信號處理負責人,以研究全球海平面上升。

Kirthi K Devleker 是 MathWorks 的全球醫(yī)療器械行業(yè)經(jīng)理。 Kirthi Devleker 在目前的職位上與開發(fā)數(shù)字健康和醫(yī)療設備的客戶、學術研究人員和監(jiān)管機構密切合作,幫助他們了解建模和仿真的價值,以及人們?nèi)绾卫?AI 等最新趨勢來構建下一代醫(yī)療設備。在此之前, Kirthi 擔任 MathWorks 的高級產(chǎn)品經(jīng)理,主要負責制定人工智能和信號處理產(chǎn)品的路線圖和長期戰(zhàn)略。 Kirthi 擁有信號和圖像處理方面的背景,并在 MathWorks 工作了 10 年。他擁有加州圣何塞州立大學電氣工程碩士學位。

審核編輯:郭婷

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

    關注

    44

    文章

    3554

    瀏覽量

    133804
  • NVIDIA
    +關注

    關注

    14

    文章

    4817

    瀏覽量

    102637
  • AI
    AI
    +關注

    關注

    87

    文章

    29397

    瀏覽量

    267692
收藏 人收藏

    評論

    相關推薦

    NVIDIA RTX AI套件簡化AI驅(qū)動的應用開發(fā)

    NVIDIA 于近日發(fā)布 NVIDIA RTX AI套件,這一工具和 SDK 集合能夠幫助 Windows 應用開發(fā)者定制、優(yōu)化和部署適用于 Windows 應用的
    的頭像 發(fā)表于 09-06 14:45 ?322次閱讀

    NVIDIA推出用于支持在全新GeForce RTX AI筆記本電腦上運行的AI助手及數(shù)字

    》中。NVIDIA 還發(fā)布專為 NVIDIA ACE 數(shù)字人平臺打造的首個基于 PC 的 NVIDIA NIM 推理微服務。 這些技術由?NVIDI
    的頭像 發(fā)表于 06-04 10:19 ?628次閱讀

    NVIDIA宣布全面推出 NVIDIA ACE 生成式 AI 微服務

    采用 NVIDIA 宣布全面推出 NVIDIA ACE 生成式 AI 微服務,以加速新一代數(shù)字人的發(fā)展,并將在平臺上推出全新的生成式 AI
    的頭像 發(fā)表于 06-04 10:18 ?565次閱讀

    借助NVIDIA DOCA 2.7增強AI 云數(shù)據(jù)中心和NVIDIA Spectrum-X

    NVIDIA DOCA 加速框架為開發(fā)者提供了豐富的庫、驅(qū)動和 API,以便為 NVIDIA BlueField DPU 和 SuperNIC 創(chuàng)建高性能的應用程序和服務。
    的頭像 發(fā)表于 05-29 09:22 ?401次閱讀

    Nvidia Jetson Nano + CYW55573/AWXB327MA-PUR M.2無法使用操作系統(tǒng)內(nèi)置的網(wǎng)絡管理器管理Wi-Fi如何解決?

    我們使用的是 Nvidia Jetson Nano + CYW55573/AWXB327MA-PUR M.2 ,請參閱 Nvidia Jetson 與英飛凌 AIROC Wi-Fi 6
    發(fā)表于 05-23 06:47

    NVIDIA的專用AI平臺如何推動下一代醫(yī)療健康行業(yè)的發(fā)展

    醫(yī)療科技創(chuàng)新企業(yè)在 GTC 上介紹了 NVIDIA 的專用 AI 平臺如何推動下一代醫(yī)療健康行業(yè)的發(fā)展。
    的頭像 發(fā)表于 04-09 10:10 ?1204次閱讀

    NVIDIA數(shù)字人技術加速部署生成式AI驅(qū)動的游戲角色

    NVIDIA 在 GDC 2024 大會上宣布,Inworld AI 等領先的 AI 應用程序開發(fā)者,正在使用
    的頭像 發(fā)表于 04-09 10:08 ?592次閱讀
    <b class='flag-5'>NVIDIA</b><b class='flag-5'>數(shù)字</b>人技術加速部署生成式<b class='flag-5'>AI</b>驅(qū)動的游戲角色

    NVIDIA Jetson為嵌入式計算領域探索AI可能

    自動化業(yè)務流程、通過數(shù)據(jù)分析獲得洞察力、與客戶和員工互動……如今 AI 正在大幅提高生產(chǎn)力,推動競爭優(yōu)勢。NVIDIA Jetson 是適用于自主機器和其他嵌入式應用的先進平臺,具有出色的 A
    的頭像 發(fā)表于 01-25 17:03 ?473次閱讀
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Jetson</b>為嵌入式計算領域探索<b class='flag-5'>AI</b>可能

    NVIDIA Jetson 的嵌入式系統(tǒng)AI應用

    在這個平臺上可以使用多個不同的芯片 ,案例的主角是AIMobile AIM Edge Ncox,一款基于NVIDIA Jetson Orin NX的小型被動冷卻嵌入式系統(tǒng)。該系統(tǒng)具有6-8個Arm內(nèi)核和NVIDIA Ampere
    發(fā)表于 12-11 17:37 ?469次閱讀

    開發(fā)java應用程序的基本步驟是

    ava是一種面向?qū)ο蟮木幊陶Z言,廣泛用于開發(fā)各種類型的應用程序。在開發(fā)Java應用程序時,有一些基本步驟需要遵循,以確保應用程序的正確性和可
    的頭像 發(fā)表于 11-28 16:52 ?1444次閱讀

    NVIDIA再出手!加速開發(fā)邊緣AI應用,迎接生成式AI新紀元

    NVIDIA 近日宣布,對適用于邊緣 AI 和機器人的 NVIDIA Jetson 平臺上的兩個框架進行大規(guī)模擴展。NVIDIA Isaac
    的頭像 發(fā)表于 11-23 17:31 ?977次閱讀
    <b class='flag-5'>NVIDIA</b>再出手!加速<b class='flag-5'>開發(fā)</b>邊緣<b class='flag-5'>AI</b>應用,迎接生成式<b class='flag-5'>AI</b>新紀元

    NVIDIA 加快企業(yè)自定義生成式 AI 模型開發(fā)

    開發(fā)者可以直接在瀏覽器中試用全新的 NVIDIA AI Foundation Models,使用 NVIDIA AI Foundation
    的頭像 發(fā)表于 11-16 21:15 ?526次閱讀
    <b class='flag-5'>NVIDIA</b> 加快企業(yè)自定義生成式 <b class='flag-5'>AI</b> 模型<b class='flag-5'>開發(fā)</b>

    在線研討會 | 在 Jetson 上使用 Metropolis API 和微服務加速邊緣人工智能開發(fā)

    研討會時間: 2023 年 11 月 17 日(周五)中午?12:00? (北京時間) 為邊緣構建視覺 AI 應用程序通常需要經(jīng)歷一個耗時且昂貴的開發(fā)周期。 NVIDIA Metrop
    的頭像 發(fā)表于 11-10 17:35 ?246次閱讀
    在線研討會 | 在 <b class='flag-5'>Jetson</b> 上使用 Metropolis API 和微服務加速邊緣人工智能<b class='flag-5'>開發(fā)</b>

    利用 NVIDIA Jetson 實現(xiàn)生成式 AI

    近日,NVIDIA 發(fā)布了 Jetson 生成式 AI 實驗室(Jetson Generative AI Lab),使
    的頭像 發(fā)表于 11-07 21:25 ?847次閱讀
    利用 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Jetson</b> 實現(xiàn)生成式 <b class='flag-5'>AI</b>

    Banana Pi為何選擇rk3588開發(fā)Jetson Nano引腳兼容的嵌入式產(chǎn)品

    引言: 當Banana PI&armsom決定采用RK3588芯片開發(fā)一款與Jetson Nano引腳兼容的產(chǎn)品時,這意味著一次重要的技術決策,為開發(fā)者和制造商提供了更大的靈活性
    發(fā)表于 11-02 12:30