第十篇【传奇开心果系列】Python的文本和语音相互转换库技术点案例示例:Microsoft Azure开发语音翻译应用程序经典案例

news2025/1/15 10:50:24

传奇开心果博文系列

  • 系列博文目录
    • Python的文本和语音相互转换库技术点案例示例系列
  • 博文目录
    • 前言
    • 一、雏形示例代码
    • 二、扩展思路介绍
    • 三、Azure多语种支持示例代码
    • 四、Azure实时对话模式示例代码
    • 五、Azure自定义翻译模型示例代码
    • 六、Azure语音合成示例代码
    • 七、Azure用户界面优化示例代码
    • 八、Azure离线模式支持示例代码
    • 九、Azure安全和隐私保护示例代码
    • 十、Azure集成其他服务示例代码
    • 十一、归纳总结

系列博文目录

Python的文本和语音相互转换库技术点案例示例系列

博文目录

前言

在这里插入图片描述语音翻译应用程序:结合Microsoft Azure的语音识别和翻译服务,很容易开发支持多语言的语音翻译应用程序,帮助用户进行跨语种语言跨平台交流。

一、雏形示例代码

在这里插入图片描述以下是一个简单示例代码,使用Azure的语音识别和翻译服务来实现一个支持多语言的语音翻译应用程序。在这个示例中,我们使用Azure的语音服务和翻译服务,你需要替换 <YOUR_REGION>, <YOUR_SUBSCRIPTION_KEY><YOUR_TRANSLATOR_KEY> 分别为你的Azure区域、语音服务订阅密钥和翻译服务密钥。

import azure.cognitiveservices.speech as speechsdk
import os
from azure.ai.textanalytics import TextAnalyticsClient
from azure.core.credentials import AzureKeyCredential

# 语音识别配置
speech_key = "<YOUR_SUBSCRIPTION_KEY>"
service_region = "<YOUR_REGION>"
speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)

# 翻译配置
translator_key = "<YOUR_TRANSLATOR_KEY>"
translator_region = "global"
translator_endpoint = "https://api.cognitive.microsofttranslator.com/"
translator_credentials = AzureKeyCredential(translator_key)
translator_client = TextAnalyticsClient(endpoint=translator_endpoint, credential=translator_credentials)

def translate_speech_to_text(speech_config, translator_client):
    speech_recognizer = speechsdk.SpeechRecognizer(speech_config)
    
    print("Speak something...")
    result = speech_recognizer.recognize_once()
    
    if result.reason == speechsdk.ResultReason.RecognizedSpeech:
        print("Recognized: {}".format(result.text))
        
        # 翻译文本
        translation = translator_client.translate(result.text, target_language="en")
        print("Translated: {}".format(translation.result))
    elif result.reason == speechsdk.ResultReason.NoMatch:
        print("No speech could be recognized.")
    elif result.reason == speechsdk.ResultReason.Canceled:
        cancellation_details = result.cancellation_details
        print("Speech Recognition canceled: {}".format(cancellation_details.reason))
        if cancellation_details.reason == speechsdk.CancellationReason.Error:
            print("Error details: {}".format(cancellation_details.error_details))

translate_speech_to_text(speech_config, translator_client)

这段代码演示了如何使用Azure的语音服务和翻译服务来实现语音识别和翻译功能。请确保已安装 azure-cognitiveservices-speechazure-ai-textanalytics Python 包。此示例仅供参考,实际开发中可能需要根据具体需求进行更多的定制和优化。

二、扩展思路介绍

在这里插入图片描述当开发语音翻译应用程序时,除了基本的语音识别和翻译功能外,还可以考虑以下扩展思路来增强应用程序的功能和用户体验:

  1. 多语种支持:除了基本的语言翻译功能,可以进一步扩展支持更多语种,包括一些少数民族语言或地区方言,以满足更广泛的用户需求。

  2. 实时对话模式:实现实时对话模式,让用户可以进行连续的对话,实时翻译并显示对话内容,模拟真实的跨语言交流场景。

  3. 自定义翻译模型:根据特定领域的术语和表达习惯,可以训练自定义的翻译模型,提高翻译的准确性和专业性。

  4. 语音合成:结合语音合成技术,将翻译后的文本转换为自然流畅的语音输出,实现双向的语音翻译和交流。

  5. 用户界面优化:设计直观友好的用户界面,包括语言选择、语音输入、翻译结果展示等模块,提升用户体验和易用性。

  6. 离线模式支持:考虑在应用中集成离线模式,允许用户在没有网络连接的情况下继续使用基本的语音识别和翻译功能。

  7. 安全和隐私保护:确保用户语音数据和翻译内容的安全性和隐私保护,遵守相关的数据保护法规和标准。

  8. 集成其他服务:考虑与其他服务集成,如语音识别后的文本可以进一步用于文本分析、信息提取等,增加应用程序的价值和功能多样性。

通过以上扩展思路的实施,可以使语音翻译应用程序更加智能、全面,满足用户在跨语言交流和沟通方面的多样化需求,提升用户体验和应用的实用性。

三、Azure多语种支持示例代码

在这里插入图片描述在Azure中实现多语种支持可以通过Azure Translator Text API来实现。以下是一个示例代码,演示如何使用Azure Translator Text API 来支持多语种翻译,包括一些少数民族语言或地区方言。请确保替换 <YOUR_SUBSCRIPTION_KEY><YOUR_ENDPOINT> 为你的Azure订阅密钥和终结点。

from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient

# 替换为你的Azure订阅密钥和终结点
key = "<YOUR_SUBSCRIPTION_KEY>"
endpoint = "<YOUR_ENDPOINT>"

# 支持的语言列表,可以根据需求扩展
languages = ["en", "es", "fr", "zh-Hans", "ar", "ru", "de"]

def translate_text(text, target_language):
    credential = AzureKeyCredential(key)
    client = TextAnalyticsClient(endpoint=endpoint, credential=credential)
    
    response = client.translate(text, target_language=target_language)
    return response.result

text = "Hello, how are you?"
for lang in languages:
    translation = translate_text(text, lang)
    print(f"Translated to {lang}: {translation}")

在这个示例中,我们定义了一个支持的语言列表 languages,然后循环遍历这些语言,将输入的文本翻译成各种语言。你可以根据需要扩展或修改支持的语言列表。这样,用户可以选择不同的语言进行翻译,包括一些少数民族语言或地区方言,从而满足更广泛的用户需求。

四、Azure实时对话模式示例代码

在这里插入图片描述要在Azure中实现实时对话模式,可以结合Azure的语音识别和翻译服务来实现。以下是一个简单的示例代码,演示如何实现实时对话模式,让用户进行连续的对话,实时翻译并显示对话内容。请确保替换 <YOUR_SUBSCRIPTION_KEY><YOUR_REGION> 为你的Azure订阅密钥和区域。

import azure.cognitiveservices.speech as speechsdk

# 替换为你的Azure订阅密钥和区域
speech_key = "<YOUR_SUBSCRIPTION_KEY>"
service_region = "<YOUR_REGION>"

def translate_speech_to_text(speech_text, target_language):
    translation_config = speechsdk.translation.SpeechTranslationConfig(
        subscription=speech_key, region=service_region
    )
    translation_config.speech_recognition_language = "en-US"
    translation_config.add_target_language(target_language)

    recognizer = speechsdk.translation.TranslationRecognizer(translation_config=translation_config)
    result = recognizer.recognize_once()

    return result.translations[target_language]

# 实时对话模式
while True:
    user_input = input("You: ")
    translated_text = translate_speech_to_text(user_input, "fr")  # 将用户输入翻译成法语
    print("Translated: ", translated_text)

在这个示例中,用户可以连续输入对话内容,程序会将用户输入的内容实时翻译成法语并显示出来。你可以根据需要修改目标语言或者添加更多的目标语言。这样,用户可以模拟真实的跨语言交流场景,在实时对话中进行语音翻译,增强用户体验。

五、Azure自定义翻译模型示例代码

在这里插入图片描述要在Azure中训练自定义翻译模型,可以使用Azure Custom Translator服务。Custom Translator服务允许你使用自定义术语和数据集训练翻译模型,以提高翻译的准确性和专业性。以下是一个简单的示例代码,演示如何使用Azure Custom Translator服务训练自定义翻译模型。请确保替换 <YOUR_SUBSCRIPTION_KEY><YOUR_ENDPOINT> 为你的Azure订阅密钥和终结点。

from azure.ai.translation.custom import TranslationProject, TranslationClient
from azure.core.credentials import AzureKeyCredential

# 替换为你的Azure订阅密钥和终结点
key = "<YOUR_SUBSCRIPTION_KEY>"
endpoint = "<YOUR_ENDPOINT>"

# 创建自定义翻译项目
project = TranslationProject(endpoint=endpoint, credential=AzureKeyCredential(key))

# 添加训练数据
project.add_document("en", "fr", "This is a sample sentence.", "C'est une phrase d'exemple.")

# 开始训练翻译模型
project.train()

# 获取训练状态
while not project.is_training:
    project.refresh()
print("Training started...")

# 等待训练完成
project.wait_until_done()

# 获取训练结果
if project.status == "Succeeded":
    print("Training succeeded. Model ID:", project.model_id)
else:
    print("Training failed. Status:", project.status)

# 使用自定义翻译模型进行翻译
client = TranslationClient(endpoint=endpoint, credential=AzureKeyCredential(key))
result = client.translate(["This is a sample sentence."], models=[project.model_id], source_language="en", target_language="fr")
print("Translated text:", result[0].translations[0].text)

在这个示例中,我们创建了一个自定义翻译项目,添加了训练数据并开始训练翻译模型。一旦训练完成,我们可以使用训练好的自定义翻译模型进行翻译。通过训练自定义翻译模型,你可以根据特定领域的需求定制翻译模型,提高翻译的准确性和专业性。

六、Azure语音合成示例代码

在这里插入图片描述要在Azure中实现语音合成功能,可以使用Azure的语音服务(Text to Speech)。以下是一个简单的示例代码,演示如何结合语音合成技术,将翻译后的文本转换为自然流畅的语音输出。请确保替换 <YOUR_SUBSCRIPTION_KEY><YOUR_REGION> 为你的Azure订阅密钥和区域。

import azure.cognitiveservices.speech as speechsdk

# 替换为你的Azure订阅密钥和区域
speech_key = "<YOUR_SUBSCRIPTION_KEY>"
service_region = "<YOUR_REGION>"

def translate_text_to_speech(text, language):
    speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)
    speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config)

    result = speech_synthesizer.speak_text_async(text).get()
    if result.reason == speechsdk.ResultReason.SynthesizingAudioCompleted:
        print("Speech synthesis is successful.")
    else:
        print("Speech synthesis failed: {}".format(result.reason))

# 翻译文本并转换为语音输出
translated_text = "Bonjour, comment ça va?"
translate_text_to_speech(translated_text, "fr-FR")

在这个示例中,我们定义了一个 translate_text_to_speech 函数,用于将文本转换为语音输出。在函数中,我们使用Azure的语音合成服务,将翻译后的文本转换为相应语言的语音输出。你可以根据需要调用这个函数,实现双向的语音翻译和交流,让用户可以听到翻译后的内容。这样可以增强用户体验,使交流更加自然和流畅。

七、Azure用户界面优化示例代码

在这里插入图片描述要设计一个直观友好的用户界面,包括语言选择、语音输入、翻译结果展示等模块,你可以使用前端开发技术如HTML、CSS和JavaScript来实现。以下是一个简单的示例代码,展示一个基本的用户界面,用于语音翻译应用。你可以根据需求和设计风格进行定制。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Voice Translation App</title>
<style>
    /* CSS样式 */
    body {
        font-family: Arial, sans-serif;
    }
    .container {
        max-width: 600px;
        margin: 0 auto;
        padding: 20px;
        text-align: center;
    }
</style>
</head>
<body>
<div class="container">
    <h1>Voice Translation App</h1>
    <label for="selectLanguage">Select Language:</label>
    <select id="selectLanguage">
        <option value="en">English</option>
        <option value="fr">French</option>
        <option value="es">Spanish</option>
        <!-- 添加更多语言选项 -->
    </select>
    <br><br>
    <textarea id="inputText" rows="4" cols="50" placeholder="Speak or type text here..."></textarea>
    <br><br>
    <button onclick="translateText()">Translate</button>
    <br><br>
    <div id="translationResult"></div>
</div>

<script>
    // JavaScript代码
    function translateText() {
        var selectedLanguage = document.getElementById("selectLanguage").value;
        var inputText = document.getElementById("inputText").value;

        // 在此调用翻译和语音合成功能,将结果展示在页面上
        // 可以使用Azure的翻译和语音合成服务进行实际翻译和语音合成操作
        // 示例代码中仅包含用户界面部分的逻辑
        var translatedText = "Translated text will appear here.";

        document.getElementById("translationResult").innerText = translatedText;
    }
</script>
</body>
</html>

这个示例代码包含了一个简单的用户界面,用户可以选择语言、输入文本,然后点击按钮进行翻译。实际的翻译和语音合成功能需要调用Azure的相应服务来实现。你可以根据需求和设计风格对界面进行进一步的美化和定制,以提升用户体验和易用性。

八、Azure离线模式支持示例代码

在这里插入图片描述要在应用中集成离线模式支持,允许用户在没有网络连接的情况下继续使用基本的语音识别和翻译功能,你可以考虑使用Azure的语音服务中的离线语音识别功能。Azure提供了离线语音识别SDK,可以在没有网络连接的情况下进行语音识别。以下是一个简单的示例代码,演示如何在Azure中实现离线模式支持。

import azure.cognitiveservices.speech as speechsdk

# 替换为你的Azure订阅密钥和区域
speech_key = "<YOUR_SUBSCRIPTION_KEY>"
service_region = "<YOUR_REGION>"

def offline_speech_recognition(audio_file_path, language):
    speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)
    speech_config.speech_recognition_language = language
    audio_input = speechsdk.AudioConfig(filename=audio_file_path)

    speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_input)
    result = speech_recognizer.recognize_once()

    if result.reason == speechsdk.ResultReason.RecognizedSpeech:
        print("Recognized: {}".format(result.text))
    elif result.reason == speechsdk.ResultReason.NoMatch:
        print("No speech could be recognized.")
    elif result.reason == speechsdk.ResultReason.Canceled:
        cancellation_details = result.cancellation_details
        print("Speech recognition canceled: {}".format(cancellation_details.reason))

# 在离线模式下进行语音识别
audio_file_path = "path/to/your/audio/file.wav"
offline_speech_recognition(audio_file_path, "en-US")

在这个示例中,我们定义了一个 offline_speech_recognition 函数,用于在离线模式下进行语音识别。函数中使用了Azure的离线语音识别SDK,可以传入本地音频文件路径进行识别。请确保替换 <YOUR_SUBSCRIPTION_KEY><YOUR_REGION> 为你的Azure订阅密钥和区域,以及替换 audio_file_path 为你的本地音频文件路径。这样用户就可以在没有网络连接的情况下继续使用基本的语音识别功能。

九、Azure安全和隐私保护示例代码

在这里插入图片描述在确保用户语音数据和翻译内容的安全性和隐私保护方面,你可以采取一些措施来保障用户数据的安全性,包括使用加密技术、访问控制、数据匿名化等。此外,遵守相关的数据保护法规和标准也是非常重要的,如GDPR(《通用数据保护条例》)等。

以下是一些示例代码,展示如何在Azure中使用加密技术来保护用户数据的安全性:

import azure.identity
from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential

# 替换为你的Azure Key Vault名称和区域
key_vault_name = "your-key-vault-name"
key_vault_url = "https://" + key_vault_name + ".vault.azure.net/"

# 使用Azure默认凭据获取访问密钥
credential = DefaultAzureCredential()
client = SecretClient(vault_url=key_vault_url, credential=credential)

# 从Azure Key Vault中获取加密密钥
key_name = "encryption-key"
key_value = client.get_secret(key_name).value

# 使用获取的密钥对用户数据进行加密
def encrypt_data(data, key):
    # 在这里实现加密算法,这里只是一个示例
    encrypted_data = data + " encrypted with key: " + key
    return encrypted_data

# 使用获取的密钥对用户数据进行解密
def decrypt_data(data, key):
    # 在这里实现解密算法,这里只是一个示例
    decrypted_data = data.replace(" encrypted with key: " + key, "")
    return decrypted_data

# 示例:加密用户数据
user_data = "Sensitive data to be encrypted"
encrypted_data = encrypt_data(user_data, key_value)
print("Encrypted data:", encrypted_data)

# 示例:解密用户数据
decrypted_data = decrypt_data(encrypted_data, key_value)
print("Decrypted data:", decrypted_data)

在这个示例中,我们使用Azure Key Vault来存储加密密钥,并通过Azure默认凭据获取访问密钥。然后,我们定义了 encrypt_datadecrypt_data 函数,用于加密和解密用户数据。这样可以确保用户语音数据和翻译内容的安全性和隐私保护。请根据实际需求和安全标准对代码进行定制和扩展。

十、Azure集成其他服务示例代码

在这里插入图片描述要将Azure语音识别后的文本与其他服务集成,可以使用Azure的文本分析服务来进行文本分析、信息提取等操作。Azure提供了文本分析服务,可以帮助你从文本中提取关键短语、实体、情绪等信息。以下是一个示例代码,演示如何将语音识别后的文本与Azure文本分析服务进行集成:

from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
from azure.ai.textanalytics import TextAnalyticsApiKeyCredential

# 替换为你的Azure文本分析服务密钥和终结点
text_analytics_key = "<YOUR_TEXT_ANALYTICS_KEY>"
text_analytics_endpoint = "<YOUR_TEXT_ANALYTICS_ENDPOINT>"

def analyze_text(text):
    text_analytics_credential = TextAnalyticsApiKeyCredential(text_analytics_key)
    text_analytics_client = TextAnalyticsClient(endpoint=text_analytics_endpoint, credential=text_analytics_credential)

    result = text_analytics_client.analyze_sentiment([text])
    for doc in result:
        for idx, sentence in enumerate(doc.sentences):
            print("Sentence: {}".format(sentence.text))
            print("Sentiment: {}".format(sentence.sentiment))
            print("Confidence scores:")
            print("Positive: {}".format(sentence.confidence_scores.positive))
            print("Neutral: {}".format(sentence.confidence_scores.neutral))
            print("Negative: {}".format(sentence.confidence_scores.negative))

# 从语音识别后的文本进行文本分析
recognized_text = "The text recognized from speech"
analyze_text(recognized_text)

在这个示例中,我们定义了一个 analyze_text 函数,用于将文本传递给Azure文本分析服务进行情感分析。你需要替换 <YOUR_TEXT_ANALYTICS_KEY><YOUR_TEXT_ANALYTICS_ENDPOINT> 为你的Azure文本分析服务密钥和终结点。然后,我们调用这个函数,将从语音识别后的文本传递给文本分析服务进行情感分析,提取情感信息和置信度分数。这样可以增加应用程序的价值和功能多样性,为用户提供更丰富的信息和服务。

十一、归纳总结

在这里插入图片描述开发Microsoft Azure语音翻译应用程序涉及多方面的知识点,以下是对相关知识点的归纳总结:

  1. Azure语音服务

    • 使用Azure语音服务进行语音识别和语音合成。
    • 了解如何配置Azure语音服务,包括API密钥、终结点等。
  2. Azure翻译服务

    • 使用Azure翻译服务进行文本翻译。
    • 熟悉Azure翻译服务的功能和限制,如支持的语言等。
  3. 用户界面设计

    • 设计直观友好的用户界面,包括语音输入和文本输出的展示。
    • 考虑用户体验和易用性,确保用户能够方便地使用应用程序。
  4. 数据安全和隐私保护

    • 确保用户语音数据和翻译内容的安全性和隐私保护。
    • 使用加密技术、访问控制等措施保障用户数据的安全。
  5. 多语种支持

    • 实现多语种的语音识别和翻译功能,为用户提供更广泛的语言支持。
  6. 与其他服务集成

    • 将语音识别后的文本与其他服务集成,如文本分析、信息提取等,增加应用程序的价值和功能多样性。
  7. 实时对话模式

    • 实现实时对话模式,使用户能够进行实时语音输入和翻译,提升用户体验。
  8. 离线模式支持

    • 考虑实现离线模式支持,使用户能够在没有网络连接的情况下使用应用程序。
  9. 遵守法规和标准

    • 遵守相关的数据保护法规和标准,如GDPR等,保护用户数据的隐私和安全。

在这里插入图片描述以上知识点涵盖了在Microsoft Azure上开发语音翻译应用程序所需的关键方面,希望对你有所帮助。如果有任何进一步的问题或需要更多详细信息,请随时告诉我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1470699.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

openGauss学习笔记-229 openGauss性能调优-系统调优-配置Ustore

文章目录 openGauss学习笔记-229 openGauss性能调优-系统调优-配置Ustore229.1 设计原理229.2 核心优势229.3 使用指导 openGauss学习笔记-229 openGauss性能调优-系统调优-配置Ustore Ustore存储引擎&#xff0c;又名In-place Update存储引擎&#xff08;原地更新&#xff09…

java面试(网络)

TCP和UDP有什么区别&#xff1f;TCP三次握手不是两次&#xff1f; TCP&#xff1a;面向连接&#xff0c;可靠的&#xff0c;传输层通信协议。点对点&#xff0c;占用资源多&#xff0c;效率低。 UDP&#xff1a;无连接&#xff0c;不可靠&#xff0c;传输层通信协议。广播&…

Nvidia Jetson Orin NX配置环境

Nvidia Jetson Orin NX配置环境配置环境 一、安装jetson5.1.2二、安装jtop三、配置CUDA和cuDNN四、安装Pytorch 先导片&#xff1a;Jetson采用arm64架构 一、安装jetson5.1.2 安装好jetson自带cuda、cudnn和tensorRT 官方文档 更换源 sudo vi /etc/apt/sources.list.d/nvidia…

力扣技巧题:丢失的数字

先排后找可以让结果更简单 int cmp(const void* a, const void* b){return *(int*)a - *(int*)b; } int missingNumber(int* nums, int numsSize){qsort(nums, numsSize, 4, cmp);for(int i0; i<numsSize; i){if(nums[i] i){continue;}else{return i;}}return numsSize; }…

10 在线逻辑分析仪的使用

在线逻辑分析仪简介 传统的 FPGA 板级调试是将逻辑分析仪连接到 FPGA 的 IO 引脚上 &#xff0c;然后将内部信号引出至 IO 引脚&#xff0c;再进行板级调试&#xff0c;这种方法的缺点是我们需要一个逻辑分析仪&#xff0c;且还要在 PCB 中预留测试点。在线逻辑分析仪克服了以…

使用 C++23 协程实现第一个 co_yield 同步风格调用接口--Qt计算排列组合

在C23的协程特性里&#xff0c; co_yield 用于从协程执行过程中返回值。这个功能乍一听起来很奇怪&#xff0c;网上的例子大多是用一个计数器来演示多次中断协程函数&#xff0c;返回顺序的计数值。这看起来毫无意义。 其实这个功能主要想演示的就是协程 co_yield 具备打断一个…

【数据结构】图——最短路径

最短路径问题&#xff1a;从在带权有向图G中的某一顶点出发&#xff0c;找出一条通往另一顶点的最短路径&#xff0c;最短也就是沿路径各边的权值总和达到最小。 最短路径分为图中单源路径和多源路径。 本文会介绍Dijkstra和Bellman-Ford解决单源路径的问题 Floyd-Warshall解…

SCI一区 | Matlab实现ST-CNN-MATT基于S变换时频图和卷积网络融合多头自注意力机制的多特征分类预测

SCI一区 | Matlab实现ST-CNN-MATT基于S变换时频图和卷积网络融合多头自注意力机制的故障多特征分类预测 目录 SCI一区 | Matlab实现ST-CNN-MATT基于S变换时频图和卷积网络融合多头自注意力机制的故障多特征分类预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍…

【牛客】2024牛客寒假算法基础集训营6ABCDEGHIJ

文章目录 A 宇宙的终结题目大意主要思路代码 B 爱恨的纠葛题目大意主要思路代码 C 心绪的解剖题目大意主要思路代码 D 友谊的套路题目大意主要思路代码 E 未来的预言题目大意主要思路代码 G 人生的起落题目大意主要思路代码 I 时空的交织题目大意主要思路代码 J 绝妙的平衡题目…

ChatGPT调教指南 | 咒语指南 | Prompts提示词教程(三)

在人工智能成为我们日常互动中无处不在的一部分的时代&#xff0c;与大型语言模型(llm)有效沟通的能力是无价的。“良好提示的26条原则”为优化与这些复杂系统的交互提供了全面的指导。本指南证明了人类和人工智能之间的微妙关系&#xff0c;强调清晰、专一和结构化的沟通方法。…

leetcode hot100 买卖股票最佳时机3

本题中&#xff0c;依旧可以采用动态规划来进行解决&#xff0c;之前的两个题我们都是用二维数组dp[i][2]来表示的&#xff0c;其中i表示第i天&#xff0c;2表示长度为2&#xff0c;其中0表示不持有&#xff0c;1表示持有。 本题中&#xff0c;说至多完成两笔交易&#xff0c;也…

RabbitMQ 面试八股题整理

前言&#xff1a;本文是博主网络自行收集的一些RabbitMQ相关八股文&#xff0c;还在准备暑期实习&#xff0c;后续应该会持续更新...... 参考&#xff1a;三天吃透RabbitMQ面试八股文_牛客网 目录 RabbitMQ概述 什么是 RabbitMQ&#xff1f; 说一说RabbitMQ中的AMQP 为什么…

单机取证-信息安全管理与评估-2022年国赛真题-环境+wp

🍬 博主介绍 博主介绍:大家好,我是 Mikey ,很高兴认识大家~ 主攻:【应急响应】 【python】 【数字取证】【单机取证】【流量分析】【MISC】 🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋 🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步 作者水平有限,欢迎各…

网络层的DDoS攻击与应用层的DDoS攻击之间的区别

DDoS攻击&#xff08;即“分布是拒绝服务攻击”&#xff09;&#xff0c;是基于DoS的特殊形式的拒绝服务攻击&#xff0c;是一种分布式、协作的大规模攻击方式&#xff0c;主要瞄准一些企业或政府部门的网站发起攻击。根据攻击原理和方式的区别&#xff0c;可以把DDoS攻击分为两…

(done) 如何判断一个矩阵是否可逆?

参考视频&#xff1a;https://www.bilibili.com/video/BV15H4y1y737/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c7355c5490fc600 这个视频里还暗含了一些引理 1.若 AX XB 且 X 和 A,B 同阶可逆&#xff0c;那么 A 和 B 相似。原因&#xff1…

RDMA内核态函数ib_post_recv()源码分析

接上文&#xff0c;上文分析了内核rdma向发送队列添加发送请求的函数ib_post_send&#xff0c;本文分析一下向接收队列添加接收请求的函数ib_post_recv。其实函数调用流程与上文类似&#xff0c;不再重复说明&#xff0c;可参考链接。 函数调用过程 最终会调用到这个函数 下面…

Stable Diffusion 绘画入门教程(webui)-ControlNet(Inpaint)

上篇文章介绍了语义分割Tile/Blur&#xff0c;这篇文章介绍下Inpaint&#xff08;重绘&#xff09; Inpaint类似于图生图的局部重绘&#xff0c;但是Inpain效果要更好一点&#xff0c;和原图融合会更加融洽&#xff0c;下面是案例&#xff0c;可以看下效果&#xff08;左侧原图…

【Java多线程】对线程池的理解并模拟实现线程池

目录 1、池 1.1、线程池 2、ThreadPoolExecutor 线程池类 3、Executors 工厂类 4、模拟实现线程池 1、池 “池”这个概念见到非常多&#xff0c;例如常量池、数据库连接池、线程池、进程池、内存池。 所谓“池”的概念就是&#xff1a;&#xff08;提高效率&#xff09; 1…

pytorch -- ToTensor使用

1. ToTensor定义 导入&#xff1a;from torchvision import transforms 通过transforms.ToTensor解决两个问题&#xff08;PIL image/numpy.ndarray 转化为 tensor &#xff09; ToTensor()返回一个ToTensor的对象(创建具体的工具)&#xff0c;传入pic就会返回一个Tensor类型的…

应急响应实战笔记03权限维持篇(4)

第4篇&#xff1a;Linux权限维持--后门篇 本文将对Linux下常见的权限维持技术进行解析&#xff0c;知己知彼百战不殆。 1、一句话添加用户和密码 添加普通用户&#xff1a; # 创建一个用户名guest&#xff0c;密码123456的普通用户 useradd -p openssl passwd -1 -salt sal…