一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

用NVIDIA Riva和Rasa創(chuàng)建基于語音的虛擬應(yīng)用程序

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-04-02 10:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

虛擬助理已經(jīng)成為我們?nèi)粘I畹囊徊糠?。我們問虛擬助理幾乎任何我們想知道的事情。除了為我們的日常生活提供便利之外,虛擬助手在企業(yè)應(yīng)用程序方面也有巨大的幫助。例如,我們使用在線虛擬代理來幫助解決復(fù)雜的技術(shù)問題、提交保險索賠或預(yù)訂酒店。我們還使用全自動呼叫來幫助擴(kuò)展客戶關(guān)系管理。所有這些應(yīng)用程序都要求企業(yè)部署一個生產(chǎn)級、健壯、基于語音的虛擬助手,以擴(kuò)展到數(shù)億最終用戶。

由于其自然性,語音界面已成為促進(jìn)高質(zhì)量人機(jī)界面的關(guān)鍵因素。然而,對于許多開發(fā)人員來說,基于語音的虛擬助理仍然是一個重大的技術(shù)挑戰(zhàn),尤其是在大規(guī)模部署時。

要成功部署基于語音的生產(chǎn)級虛擬助手,必須確保完全支持以下方面:

高質(zhì)量– 質(zhì)量與最終用戶體驗直接相關(guān)。確保語音界面能夠理解各種語言、方言和行話,并以準(zhǔn)確、可靠的方式進(jìn)行。此外,一個典型的智能對話可以進(jìn)行多次輪換,并且具有高度的上下文關(guān)聯(lián)性。虛擬助理必須能夠瀏覽對話的復(fù)雜動態(tài),并能夠識別正確的意圖、領(lǐng)域或上下文,以推動對話取得成功。

高性能和可擴(kuò)展性– 除了嚴(yán)格的質(zhì)量要求外,虛擬助理還必須能夠幾乎實時地給出準(zhǔn)確的答案。額外的 200 毫秒延遲可能會導(dǎo)致任何人感知到延遲并妨礙最終用戶體驗。當(dāng)虛擬助手部署到數(shù)億并發(fā)用戶的規(guī)模時,作為性能權(quán)衡的一部分,延遲往往會增加。在很大程度上控制延遲是另一個工程挑戰(zhàn)。

這篇文章的目的是讓您了解兩個生產(chǎn)級、企業(yè)級、虛擬助手解決方案: NVIDIA Riva 和 Rasa 的示例應(yīng)用程序。我們展示了您可以輕松構(gòu)建第一個基于語音的虛擬應(yīng)用程序,這些應(yīng)用程序可以部署和擴(kuò)展。此外,我們還演示了 Riva 的性能,以展示其生產(chǎn)級功能。

虛擬助手系統(tǒng)包括以下組件:

對話管理( DM )

自動語音識別( ASR )

自然語言處理( NLP )或自然語言理解( NLU )

文本到語音( TTS )

NLU 和 DM 組件來自 Rasa ,而 Riva 提供 TTS 和 ASR 功能。

Rasa 概述

Rasa 是一個開源的機(jī)器學(xué)習(xí)框架,用于構(gòu)建基于文本和語音的 AI 助手。在最基本的層面上,助理必須能夠做兩件事:

理解用戶在說什么。

作出相應(yīng)的反應(yīng)。

Rasa 助理使用機(jī)器學(xué)習(xí)來完成這兩項任務(wù)。 Rasa 允許您構(gòu)建健壯的助手,從真實用戶對話中學(xué)習(xí),以大規(guī)模處理關(guān)鍵任務(wù)。

對于此虛擬助手,您可以使用 Rasa NLU 和 DM 功能。有關(guān)更多信息,請參閱 Rasa documentation 。

Riva 概述

Riva 是用于構(gòu)建會話式 AI 應(yīng)用的英偉達(dá) AI 語音 SDK 。 Riva 提供 ASR 和 TTS 功能,您可以使用這些功能來向虛擬助手提供語音接口。 Riva SDK 在 NVIDIA GPU 上運行,在高吞吐量水平下提供最快的推斷時間。

對于這個虛擬助手, ASR 解決方案必須具有低延遲和高精度,同時能夠支持高吞吐量。 TTS 必須具有低延遲和支持自定義語音字體。 Riva 提供了這兩種字體,非常適合構(gòu)建基于語音的虛擬助手。有關(guān) Riva 性能的更多信息,請參閱 NVIDIA Riva Speech Skills 。

架構(gòu)概述

以下是四個組件如何交互以創(chuàng)建基于語音的虛擬助手。圖 1 顯示了虛擬助手的體系結(jié)構(gòu)。

Workflow diagram covers the Riva and Rasa interactions starting with user utterances to text responses.

圖 1 。 Riva 和具有 Rasa NLU 體系結(jié)構(gòu)的 Rasa 虛擬助手。

在左側(cè),客戶端應(yīng)用程序是 weatherbot web 應(yīng)用程序。用戶通過語音直接與客戶端應(yīng)用程序交互,并通過揚聲器接收答案。

用戶所說的問題通過調(diào)用 Riva ASR 服務(wù)進(jìn)行轉(zhuǎn)錄。這個轉(zhuǎn)錄的文本將被發(fā)送到 Rasa 包裝器,該包裝器反過來對 Rasa DM 和 Rasa NLU 進(jìn)行 API 調(diào)用,以決定適當(dāng)?shù)南乱粋€操作。根據(jù)選擇的下一個操作, Rasa DM 還可以在需要時處理實現(xiàn)。 Rasa 服務(wù)器的文本響應(yīng)通過 gRPC 調(diào)用發(fā)送到 Riva TTS 服務(wù)器, gRPC 調(diào)用將相應(yīng)的音頻返回給用戶。

如您所見, Riva AI 服務(wù)和 Rasa 都部署在具有 GPU 的系統(tǒng)上,以獲得更好的性能。

構(gòu)建虛擬助手

在這篇文章中,我們將引導(dǎo)您完成為天氣領(lǐng)域構(gòu)建虛擬助手的過程。本文的重點不是用 Rasa NLU 和 DM 構(gòu)建聊天機(jī)器人,而是展示 Rasa NLU 和 Rasa DM 與 Riva ASR 和 TTS 的集成,以構(gòu)建基于語音的虛擬助手。

虛擬助手需要一個用戶界面,因此您可以使用 Python 的 Flask 框架創(chuàng)建一個簡單的網(wǎng)站。

有關(guān)此解決方案的更多信息以及代碼,請參閱 Riva documentation 中的 Virtual Assistant (with Rasa) section 。

先決條件

要使虛擬助手正常工作,必須啟動并運行 Riva 服務(wù)器。要使 Riva AI 服務(wù)啟動、運行并可通過 gRPC 端點訪問,請遵循 Riva Quick Start Guide 中的說明。

將 Riva ASR 集成到 Rasa assistant 中

在本節(jié)中,將 Riva ASR 與 Rasa 助手集成,如 ASR 。 py 文件中所示。

Riva ASR 可在流式或批處理模式下使用。在流模式下,捕獲并識別連續(xù)的音頻流,生成轉(zhuǎn)錄文本流。在批處理模式下,設(shè)置長度的音頻剪輯被轉(zhuǎn)錄為文本。對于這個用例,在流模式下使用 Riva ASR 。

代碼概述

import grpc
import riva.modules.client.src.riva_proto.audio_pb2 as ri
import riva.modules.client.src.riva_proto.riva_asr_pb2 as risr
import riva.modules.client.src.riva_proto.riva_asr_pb2_grpc as risr_srv

首先導(dǎo)入必要的 Riva 客戶端依賴項:

class ASRPipe(object): def __init__(self): . . . . self.chunk = int(self.sampling_rate / 10) # 100ms self._buff = queue.Queue() self._transcript = queue.Queue() self.closed = False

創(chuàng)建ASRPipe類來處理 Riva ASR 操作。在__init__方法中,分別為音頻流和轉(zhuǎn)錄文本流創(chuàng)建_buff_transcript隊列。

 def start(self): . . . . self.channel = grpc.insecure_channel(riva_config["RIVA_SPEECH_API_URL"]) self.asr_client = risr_srv.RivaSpeechRecognitionStub(self.channel)

調(diào)用start函數(shù)以建立到 Riva 服務(wù)器的 gRPC 通道。

 def fill_buffer(self, in_data): """Continuously collect data from the audio stream, into the buffer.""" self._buff.put(in_data)

虛擬助手中的 ASR 是一個后臺過程,因為您始終需要網(wǎng)站收聽用戶音頻。通過調(diào)用fill_buffer函數(shù),音頻流中的音頻將連續(xù)添加到音頻緩沖區(qū)_buff。

 def main_asr(self): . . . . config = risr.RecognitionConfig( encoding=ri.AudioEncoding.LINEAR_PCM, sample_rate_hertz=self.sampling_rate, language_code=self.language_code, max_alternatives=1, enable_automatic_punctuation=self.enable_automatic_punctuation ) streaming_config = risr.StreamingRecognitionConfig( config=config, interim_results=self.stream_interim_results) if self.verbose: print("[Riva ASR] Starting Background ASR process") self.request_generator = self.build_request_generator() requests = (risr.StreamingRecognizeRequest(audio_content=content) for content in self.request_generator) def build_generator(cfg, gen): yield risr.StreamingRecognizeRequest(streaming_config=cfg) for x in gen: yield x yield cfg if self.verbose: print("[Riva ASR] StreamingRecognize Start") responses = self.asr_client.StreamingRecognize(build_generator( streaming_config, requests)) # Now, put the transcription responses to use. self.listen_print_loop(responses)

獲得音頻后,使用main_asr函數(shù)生成轉(zhuǎn)錄本。

main_asr函數(shù)中,設(shè)置 Riva ASR 調(diào)用所需的配置參數(shù),如語言、通道數(shù)、音頻編碼、采樣率等。main_asr函數(shù)隨后定義了build_generator函數(shù):一個生成器,用于使用音頻剪輯和 ASR 配置迭代調(diào)用 Riva ASRStreamingRecognizeRequest函數(shù)。最后,main_asr調(diào)用 Riva ASRStreamingRecognize函數(shù)。該函數(shù)返回一個文本轉(zhuǎn)錄本流,其中包含指示中間和最終轉(zhuǎn)錄本的標(biāo)志,然后返回給調(diào)用方。

將 Riva TTS 集成到 Rasa 助手中

在本節(jié)中,您將 Riva TTS 與 Rasa 助手集成,如 tts.py 和 tts_stream.py 文件中所示。

與 ASR 一樣, TTS 也可以在流式或批處理模式下使用。使用 tts.py 中的批處理模式,可以將文本作為輸入并生成音頻剪輯。使用 tts_stream.py 中的流模式,可以將文本作為輸入并生成音頻流。

代碼概述

import grpc
import riva.modules.client.src.riva_proto.audio_pb2 as ri
import riva.modules.client.src.riva_proto.riva_tts_pb2 as rtts
import riva.modules.client.src.riva_proto.riva_tts_pb2_grpc as rtts_srv
from riva.tts.tts_processing.main_pronunciation import RunPronunciation

首先導(dǎo)入必要的 Riva 客戶端依賴項。

class TTSPipe(object): def __init__(self): . . . . self._buff = queue.Queue() self._flusher = bytes(np.zeros(dtype=np.int16, shape=(self.sample_rate, 1))) # Silence audio self.pronounce = RunPronunciation(pronounce_dict_path)

創(chuàng)建TTSPipe類來處理 Riva TTS 操作。在__init__方法中,創(chuàng)建_buff隊列以保存輸入文本。

 def start(self): . . . . self.channel = grpc.insecure_channel( riva_config["Riva_SPEECH_API_URL"]) self.tts_client = rtts_srv.RivaSpeechSynthesisStub(self.channel)

調(diào)用start函數(shù)以建立到 Riva 服務(wù)器的 gRPC 通道。

 def fill_buffer(self, in_data): """To collect text responses and fill TTS buffer.""" if len(in_data): self._buff.put(in_data)

要轉(zhuǎn)換為音頻的文本通過調(diào)用fill_buffer方法添加到緩沖區(qū)_buff。

 def get_speech(self): . . . . while not self.closed: if not self._buff.empty(): # Enter if queue/buffer is not empty. try: text = self._buff.get(block=False, timeout=0) req = rtts.SynthesizeSpeechRequest() req.text = self.pronounce.get_text(text) req.language_code = self.language_code req.encoding = self.audio_encoding req.sample_rate_hz = self.sample_rate req.voice_name = self.voice_name duration = 0 self.current_tts_duration = 0 responses = self.tts_client.SynthesizeOnline(req) for resp in responses: datalen = len(resp.audio) // 4 data32 = np.ndarray(buffer=resp.audio, dtype=np.float32, shape=(datalen, 1)) data16 = np.int16(data32 * 23173.26) speech = bytes(data16.data) duration += len(data16)*2/(self.sample_rate*1*16/8) self.current_tts_duration += duration yield speech except Exception as e: print('[Riva TTS] ERROR:', e) . . . .

get_speech方法用于執(zhí)行 TTS 。

get_speech方法中,設(shè)置 Riva TTS 調(diào)用所需的配置參數(shù),如語言、音頻編碼、采樣率和語音名稱。然后get_speech方法調(diào)用 Riva TTSSynthesizeOnline方法,將文本作為輸入,并返回生成的音頻流。循環(huán)此響應(yīng)并以可配置的持續(xù)時間產(chǎn)生音頻輸出塊,從而產(chǎn)生流式音頻輸出。

把它們放在一起

現(xiàn)在,您將使用rasa.py文件調(diào)用 NLU 和 DM 的 Rasa 服務(wù)器。

class RASAPipe(object): def __init__(self, user_conversation_index): . . . . self.user_conversation_index = user_conversation_index

創(chuàng)建RASAPipe類以處理對 NLU 和 DM 的 Rasa 服務(wù)器的所有調(diào)用。

 def request_rasa_for_question(self, message): rasa_requestdata = {"message": message, "sender": self.user_conversation_index} x = requests.post(self.messages_url, json = rasa_requestdata) rasa_response = x.json() processed_rasa_response = self.process_rasa_response(rasa_response) return processed_rasa_response

此類的主要函數(shù)是request_rasa_for_question方法,它將用戶輸入作為文本,使用此文本和公開的 Rasa API 上的發(fā)送方 ID 調(diào)用 Rasa ,從 Rasa 獲取響應(yīng),然后將此響應(yīng)返回給調(diào)用方。

接下來,創(chuàng)建推斷管道,如chatbot.py文件所述。

class ChatBot(object): def __init__(self, user_conversation_index, verbose=False): self.id = user_conversation_index self.asr = ASRPipe() self.rasa = RASAPipe(user_conversation_index) self.tts = TTSPipe() self.thread_asr = None self.pause_asr_flag = False self.enableTTS = False

chatbot.py中,有ChatBot類。每個會話有一個ChatBot實例,負(fù)責(zé)處理該會話的所有 ASR 、 TTS 和 Rasa 操作。創(chuàng)建ChatBot類的實例時,您將在其初始化期間創(chuàng)建 ASR 、 Rasa 和 TTS 類的實例。

 def server_asr(self): self.asr.main_asr() def start_asr(self, sio): self.thread_asr = sio.start_background_task(self.server_asr)

首先調(diào)用start_asr方法,該方法負(fù)責(zé)在單獨的專用線程中作為后臺進(jìn)程啟動 ASR 操作。

 def asr_fill_buffer(self, audio_in): if not self.pause_asr_flag: self.asr.fill_buffer(audio_in) def get_asr_transcript(self): return self.asr.get_transcript()

然后,asr_fill_buffer函數(shù)調(diào)用 ASRPipe 實例fill_buffer函數(shù),將來自用戶的輸入音頻流添加到 ASR 緩沖區(qū)。當(dāng) Riva ASR 開始將轉(zhuǎn)錄文本流式傳輸回來時,get_asr_transcript函數(shù)被調(diào)用,將轉(zhuǎn)錄文本返回給調(diào)用者。

 def rasa_tts_pipeline(self, text): response_text = self.rasa.request_rasa_for_question(text) if len(response_text) and self.enableTTS == True: self.tts_fill_buffer(response_text) return response_text

對于轉(zhuǎn)錄的文本,調(diào)用rasa_tts_pipeline方法,負(fù)責(zé)管道化 Rasa 和 Riva TTS 功能。該方法首先調(diào)用 R ASAP ipe 實例request_rasa_for_question方法。這會將用戶輸入文本發(fā)送到 Rasa ,其中 Rasa NLP 和 Rasa DM 確定適當(dāng)?shù)牟僮鞑⒁晕谋鞠⒌男问椒祷鼗貜?fù)。然后將此文本消息傳遞給tts_fill_buffer并返回給調(diào)用者。

 def tts_fill_buffer(self, response_text): if self.enableTTS: self.tts.fill_buffer(response_text) def get_tts_speech(self): return self.tts.get_speech()

前面調(diào)用的tts_fill_buffer依次調(diào)用 TTSPipe 實例fill_buffer方法,用輸入文本填充 TTS 緩沖區(qū)。當(dāng) TTS 準(zhǔn)備好音頻流時,調(diào)用get_tts_speech方法,并將此音頻流回到調(diào)用者。

如您所見,您已經(jīng)將 Rasa 和 TTS 功能管道化為一個簡單的方法rasa_tts_pipeline。

啟動虛擬助手

在啟動 virtual assistant 服務(wù)器之前,必須按照 Network Configuration 部分中的說明正確配置 API 端點。

要啟動基于語音的虛擬助手,請按照 Running the Demo 部分中的說明操作。

在執(zhí)行上述步驟的同時,初始化 Rasa 操作服務(wù)器和 Rasa 服務(wù)器的各個容器。這一過程漫長而繁瑣。有關(guān)更簡單方法的更多信息,請參閱 Rasa 的 Docker Compose Installation 。

提高準(zhǔn)確性

您可以通過兩個關(guān)鍵方法提高上述基于語音的虛擬助手的準(zhǔn)確性。

Rasa 對話驅(qū)動開發(fā)和 Rasa X

對話驅(qū)動開發(fā)( CDD )是傾聽用戶意見并利用這些見解改進(jìn) AI 助手的過程。開發(fā)優(yōu)秀的人工智能助手是一項挑戰(zhàn),因為用戶會說出你無法預(yù)料的事情。然而,機(jī)會在于,在每次對話中,用戶都會準(zhǔn)確地告訴你他們想要什么。通過在對話 AI 開發(fā)的每個階段練習(xí) CDD ,您可以讓您的助手從真實的用戶語言和行為中學(xué)習(xí)。

Rasa X 是一種實踐 CDD 的工具。以下是使用 Rasa X 的 CDD 中的每個步驟:

共有:盡早將原型交給用戶進(jìn)行測試。除了與外部通道連接外,您還可以通過從 Rasa X 向用戶發(fā)送鏈接來與他們共享您的原型。這會讓您的助手盡快掌握在測試用戶手中,甚至在您將其連接到外部通道之前。

回顧:花時間通讀人們與助手的對話。它在項目的每個階段都很有用,從原型到生產(chǎn)。所有來自 Rasa X 內(nèi)部和您連接的任何頻道的對話都會顯示在您的對話屏幕中。

注釋:根據(jù)真實對話中的消息改進(jìn) NLU 模型。每當(dāng)您收到新消息時,側(cè)欄中的徽章表示您有新數(shù)據(jù)要處理。您可以將消息標(biāo)記為正確,修復(fù)錯誤的響應(yīng),并添加反映真實用戶對助手所說內(nèi)容的數(shù)據(jù)。

測驗:專業(yè)團(tuán)隊不會在未經(jīng)測試的情況下發(fā)布應(yīng)用程序。您可以將真實對話保存為 RASAX 中的測試,以便成功的對話可以立即成為測試。將 Rasa X 部署到服務(wù)器后,設(shè)置一個持續(xù)集成( CI )管道以自動化測試。 Rasa X 中的集成版本控制可以觸發(fā) CI 管道中的測試,該管道在您推送更改時自動運行。

軌道:識別成功和不成功的對話,以衡量助理的表現(xiàn)。要使此過程自動化,請使用 RASAXAPI 根據(jù)您的用例自動標(biāo)記某些操作。例如,標(biāo)記指示器,例如用戶注冊您的服務(wù)或請求路由到人工代理。

修理:按照每個步驟進(jìn)行操作,您可以看到助手的表現(xiàn)如何,以及在哪里出錯,這樣您就可以修復(fù)這些錯誤,并隨著時間的推移不斷改進(jìn)助手。

CDD 不是一個線性過程。你會發(fā)現(xiàn)自己在每一個動作之間來回跳躍。這是一個產(chǎn)品、設(shè)計和開發(fā)之間的協(xié)作過程,揭示了用戶的需求。隨著時間的推移,它可以確保您的助手適應(yīng)用戶的需求,而不是期望用戶調(diào)整他們的行為,這樣助手就不會崩潰。有關(guān)更多信息,請參閱 Rasa X Installation Guide 。

因維迪亞陶工具包

在許多情況下,您必須針對特定用例培訓(xùn)、調(diào)整和優(yōu)化模型。定制模型的最重要的方法是提高準(zhǔn)確性,它是在預(yù)訓(xùn)練的 Riva 模型中使用自定義數(shù)據(jù)和英偉達(dá) TAO 工具包進(jìn)行傳輸學(xué)習(xí)。

NVIDIA TAO Toolkit 是一個人工智能模型自適應(yīng)框架,使您能夠使用自定義數(shù)據(jù)微調(diào)預(yù)訓(xùn)練模型,而無需大型訓(xùn)練數(shù)據(jù)集或深入的人工智能專業(yè)知識。 TAO 工具包支持對話 AI 管道所需的各種模型,從語音識別和自然語言理解到文本到語音。

TAO 工具包最重要的區(qū)別在于,它借助預(yù)定義的 Python 腳本抽象出 AI / DL 框架的復(fù)雜性。用戶在專用的預(yù)制 Docker 容器中執(zhí)行所有操作。腳本以清晰的層次結(jié)構(gòu)組織,遵循與支持的模型相關(guān)聯(lián)的域和特定于域的任務(wù)。對于每個模型,工具箱組織用戶應(yīng)該遵循的操作順序,從數(shù)據(jù)準(zhǔn)備、培訓(xùn)和模型微調(diào)到導(dǎo)出進(jìn)行推理。

結(jié)論

在本文中,您構(gòu)建了一個基于語音的虛擬助手,并了解了如何將 Riva ASR 和 TTS 與 Rasa NLP 和 DM 集成。

關(guān)于作者

Nikhil Srihari 是 NVIDIA 的深入學(xué)習(xí)軟件技術(shù)營銷工程師。他在自然語言處理、計算機(jī)視覺和語音處理領(lǐng)域擁有廣泛的深度學(xué)習(xí)和機(jī)器學(xué)習(xí)應(yīng)用經(jīng)驗。 Nikhil 曾在富達(dá)投資公司和 Amazon 工作。他的教育背景包括布法羅大學(xué)的計算機(jī)科學(xué)碩士學(xué)位和印度蘇拉斯卡爾卡納塔克邦國家理工學(xué)院的學(xué)士學(xué)位。

Mady Mantha 是 Rasa 的高級技術(shù)傳道者。馬迪在喬治敦大學(xué)學(xué)習(xí)計算機(jī)科學(xué)、物理學(xué)和國際政治。她在智庫、初創(chuàng)公司和企業(yè)中擁有多年構(gòu)建 ML 驅(qū)動產(chǎn)品的經(jīng)驗?,?shù)鲜莻€太空愛好者。

Alex Qi 是英偉達(dá) AI 軟件集團(tuán)的產(chǎn)品經(jīng)理。她的重點是對話 AI 框架( Riva )和多媒體流 AI / ML ( Maxine )的 AI 軟件和應(yīng)用程序。在加入 NVIDIA 之前,她在領(lǐng)導(dǎo)技術(shù)和工程組織中各種角色的具有挑戰(zhàn)性的技術(shù)項目方面擁有豐富的經(jīng)驗,如數(shù)據(jù)科學(xué)家、計算建模和設(shè)計工程。 Alex 擁有麻省理工學(xué)院的雙學(xué)位碩士學(xué)位:麻省理工學(xué)院斯隆管理學(xué)院的 MBA 學(xué)位,以及工程機(jī)械工程學(xué)院的理學(xué)碩士學(xué)位,她在該學(xué)院主要研究機(jī)器人技術(shù)和人工智能。

審核編輯:郭婷

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

    關(guān)注

    88

    文章

    35164

    瀏覽量

    279950
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8503

    瀏覽量

    134620
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    第三屆NVIDIA DPU黑客松開啟報名

    碰撞的絕佳機(jī)會。本次競賽采用開放式主題,參與者將通過 NVIDIA DOCA 軟件框架構(gòu)建創(chuàng)新的加速應(yīng)用程序,充分挖掘 NVIDIA BlueField DPU 在 AI、網(wǎng)絡(luò)、存儲和安全等領(lǐng)域的強(qiáng)大潛能。
    的頭像 發(fā)表于 05-27 10:16 ?427次閱讀

    NVIDIA虛擬GPU 18.0版本的亮點

    NVIDIA 虛擬 GPU(vGPU)技術(shù)可在虛擬桌面基礎(chǔ)設(shè)施(VDI)中解鎖 AI 功能,使其比以往更加強(qiáng)大、用途更加廣泛。vGPU 通過為各種虛擬化環(huán)境中的 AI 驅(qū)動工作負(fù)載提供
    的頭像 發(fā)表于 04-07 11:28 ?688次閱讀

    AWTK-WEB 快速入門(5) - C 語言 WebSocket 應(yīng)用程序

    導(dǎo)讀WebSocket可以實現(xiàn)雙向通信,適合實時通信場景。本文介紹一下使用C語言開發(fā)AWTK-WEB應(yīng)用程序,并用WebSocket與服務(wù)器通訊。AWTKDesigner新建一個應(yīng)用程序先安裝
    的頭像 發(fā)表于 02-19 11:49 ?453次閱讀
    AWTK-WEB 快速入門(5) - C 語言 WebSocket <b class='flag-5'>應(yīng)用程序</b>

    基于HPM_SDK_ENV開發(fā)應(yīng)用程序的升級處理

    )以及工程創(chuàng)建工具等文件。用戶基于HPM_SDK_ENV開發(fā)自己的應(yīng)用程序時需要考慮如何維護(hù)板級配置文件和應(yīng)用程序文件的問題。以下3種維護(hù)方式:用戶將自己的板級配置文
    的頭像 發(fā)表于 02-08 13:38 ?1017次閱讀
    基于HPM_SDK_ENV開發(fā)<b class='flag-5'>應(yīng)用程序</b>的升級處理

    hyper-v 備份,hyper-v怎樣進(jìn)行虛擬機(jī)的創(chuàng)建

    車:powershellEnable-WindowsOptionalFeature-Online-FeatureNameMicrosoft-Hyper-V-All系統(tǒng)提示重啟時,選擇“是”。 ? ?創(chuàng)建虛擬機(jī),打開Hyper-V管理器,按“Win+Q”組合鍵,輸入“Hyp
    的頭像 發(fā)表于 02-05 14:54 ?447次閱讀
    hyper-v 備份,hyper-v怎樣進(jìn)行<b class='flag-5'>虛擬</b>機(jī)的<b class='flag-5'>創(chuàng)建</b>

    android手機(jī)上emulate應(yīng)用程序的方法

    在Android手機(jī)上模擬(emulate)應(yīng)用程序的方法通常涉及到使用Android模擬器(Emulator)或類似的工具來模擬Android環(huán)境,以便在沒有實際物理設(shè)備的情況下運行和測試應(yīng)用程序
    的頭像 發(fā)表于 12-05 15:33 ?1216次閱讀

    AWTK-WEB 快速入門(2) - JS 應(yīng)用程序

    導(dǎo)讀AWTK可以使用相同的技術(shù)棧開發(fā)各種平臺的應(yīng)用程序。有時我們需要使用Web界面與設(shè)備進(jìn)行交互,本文介紹一下如何使用JS語言開發(fā)AWTK-WEB應(yīng)用程序。AWTKDesigner新建一個應(yīng)
    的頭像 發(fā)表于 12-05 01:04 ?502次閱讀
    AWTK-WEB 快速入門(2) - JS <b class='flag-5'>應(yīng)用程序</b>

    AWTK-WEB 快速入門(1) - C 語言應(yīng)用程序

    導(dǎo)讀AWTK可以使用相同的技術(shù)棧開發(fā)各種平臺的應(yīng)用程序。有時我們需要使用Web界面與設(shè)備進(jìn)行交互,本文介紹一下如何使用C語言開發(fā)AWTK-WEB應(yīng)用程序AWTKDesigner新建一個應(yīng)用
    的頭像 發(fā)表于 11-27 11:46 ?717次閱讀
    AWTK-WEB 快速入門(1) - C 語言<b class='flag-5'>應(yīng)用程序</b>

    使用OpenVINO? ElectronJS中創(chuàng)建桌面應(yīng)用程序

    的用戶體驗。 1 應(yīng)用程序概覽:一種簡單的背景虛化方法 這個演示展示了如何在 Node.js 環(huán)境中使用 OpenVINO 工具包實現(xiàn)背景虛化,并通過 Electron.js 創(chuàng)建的直觀桌面界面進(jìn)行
    的頭像 發(fā)表于 11-25 11:35 ?579次閱讀
    使用OpenVINO? ElectronJS中<b class='flag-5'>創(chuàng)建</b>桌面<b class='flag-5'>應(yīng)用程序</b>

    NVIDIA助力企業(yè)創(chuàng)建定制AI應(yīng)用

    NVIDIA 近日宣布與眾多技術(shù)領(lǐng)導(dǎo)者一同使用最新NVIDIA NIM Agent Blueprint以及NVIDIA NeMo和NVIDIA NIM微服務(wù),幫助企業(yè)
    的頭像 發(fā)表于 11-20 09:12 ?726次閱讀

    在TM4C MCU上FreeRTOS開發(fā)通用應(yīng)用程序應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《在TM4C MCU上FreeRTOS開發(fā)通用應(yīng)用程序應(yīng)用說明.pdf》資料免費下載
    發(fā)表于 09-11 14:15 ?0次下載
    在TM4C MCU上<b class='flag-5'>用</b>FreeRTOS開發(fā)通用<b class='flag-5'>應(yīng)用程序</b>應(yīng)用說明

    IB Verbs和NVIDIA DOCA GPUNetIO性能測試

    Async 等技術(shù),能夠創(chuàng)建以 GPU 為中心的應(yīng)用程序,其中 CUDA 內(nèi)核可以直接與網(wǎng)卡(NIC)通信,從而繞過 CPU 發(fā)送和接收數(shù)據(jù)包,并將 CPU 排除在關(guān)鍵路徑之外。
    的頭像 發(fā)表于 08-23 17:03 ?1360次閱讀
    IB Verbs和<b class='flag-5'>NVIDIA</b> DOCA GPUNetIO性能測試

    創(chuàng)建ubuntu虛擬機(jī)

    英文的習(xí)慣。創(chuàng)建ubuntu虛擬機(jī)打開VMware軟件,點擊創(chuàng)建新的虛擬機(jī)。進(jìn)入以下界面:選擇自定義,點擊“下一步”。選擇對應(yīng)VMware版本的兼容性,版本可在幫助->關(guān)于VMw
    發(fā)表于 08-10 14:15

    使用NVIDIA Edify助力的服務(wù)創(chuàng)建3D資產(chǎn)和虛擬環(huán)境照明

    使用 NVIDIA Edify 助力的服務(wù)創(chuàng)建 3D 資產(chǎn)和虛擬環(huán)境照明,或是減半生成圖像時間。
    的頭像 發(fā)表于 08-02 15:22 ?1037次閱讀

    采用OpenUSD和NVIDIA NIM微服務(wù)創(chuàng)建精準(zhǔn)品牌視覺

    全球領(lǐng)先的創(chuàng)意和制作服務(wù)機(jī)構(gòu)率先采用 OpenUSD 和 NVIDIA NIM 微服務(wù)來創(chuàng)建精準(zhǔn)的品牌視覺。
    的頭像 發(fā)表于 08-01 14:33 ?764次閱讀