[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-astorfi--3D-convolutional-speaker-recognition":3,"tool-astorfi--3D-convolutional-speaker-recognition":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":82,"owner_twitter":83,"owner_website":84,"owner_url":85,"languages":86,"stars":95,"forks":96,"last_commit_at":97,"license":98,"difficulty_score":99,"env_os":100,"env_gpu":101,"env_ram":100,"env_deps":102,"category_tags":108,"github_topics":109,"view_count":23,"oss_zip_url":83,"oss_zip_packed_at":83,"status":16,"created_at":114,"updated_at":115,"faqs":116,"releases":147},3247,"astorfi\u002F3D-convolutional-speaker-recognition","3D-convolutional-speaker-recognition",":speaker: Deep Learning & 3D Convolutional Neural Networks for Speaker Verification","3D-convolutional-speaker-recognition 是一个基于深度学习开源项目，专注于利用三维卷积神经网络（3D-CNN）实现说话人验证。它主要解决了传统方法在“文本无关”场景下难以同时高效捕捉语音特征与时间动态信息的难题。不同于以往通过简单平均特征来构建说话人模型的方式，该工具通过独特的 3D 卷积架构，能够同步提取语音中的空间频谱特征和时间序列信息，从而构建出更精准的说话人模型。\n\n整个工作流程遵循标准的说话人验证协议，涵盖开发训练、注册建模和评估验证三个阶段：首先训练网络识别说话人，接着为每位用户生成专属模型，最后在测试时将输入语音与存储模型比对以确认身份。该项目提供了基于 TensorFlow 的完整代码实现，并附有相关的学术论文支持。\n\n这款工具非常适合人工智能研究人员、算法工程师以及对生物特征识别感兴趣的开发者使用。如果你正在探索语音识别前沿技术，或需要复现论文实验、构建高安全性的声纹认证系统，3D-convolutional-speaker-recognition 提供了一个扎实且可扩展的技术基座。需要注意的是，使用者需自行准备和预处理输入数据管道，","3D-convolutional-speaker-recognition 是一个基于深度学习开源项目，专注于利用三维卷积神经网络（3D-CNN）实现说话人验证。它主要解决了传统方法在“文本无关”场景下难以同时高效捕捉语音特征与时间动态信息的难题。不同于以往通过简单平均特征来构建说话人模型的方式，该工具通过独特的 3D 卷积架构，能够同步提取语音中的空间频谱特征和时间序列信息，从而构建出更精准的说话人模型。\n\n整个工作流程遵循标准的说话人验证协议，涵盖开发训练、注册建模和评估验证三个阶段：首先训练网络识别说话人，接着为每位用户生成专属模型，最后在测试时将输入语音与存储模型比对以确认身份。该项目提供了基于 TensorFlow 的完整代码实现，并附有相关的学术论文支持。\n\n这款工具非常适合人工智能研究人员、算法工程师以及对生物特征识别感兴趣的开发者使用。如果你正在探索语音识别前沿技术，或需要复现论文实验、构建高安全性的声纹认证系统，3D-convolutional-speaker-recognition 提供了一个扎实且可扩展的技术基座。需要注意的是，使用者需自行准备和预处理输入数据管道，以便更好地适配具体的应用场景。","\n=========================================================================================================================\nTensorFlow implementation of 3D Convolutional Neural Networks for Speaker Verification - `Official Project Page`_ - `Pytorch Implementation`_\n=========================================================================================================================\n\n.. image:: https:\u002F\u002Fcodecov.io\u002Fgh\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg\n   :target: https:\u002F\u002Fcodecov.io\u002Fgh\u002Fastorfi\u002F3D-convolutional-speaker-recognition\n.. image:: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcontributions-welcome-brightgreen.svg?style=flat\n    :target: https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fpulls\n.. image:: https:\u002F\u002Fbadges.frapsoft.com\u002Fos\u002Fv2\u002Fopen-source.svg?v=102\n    :target: https:\u002F\u002Fgithub.com\u002Fellerbrock\u002Fopen-source-badge\u002F\n.. image:: https:\u002F\u002Fzenodo.org\u002Fbadge\u002F94718341.svg\n   :target: https:\u002F\u002Fzenodo.org\u002Fbadge\u002Flatestdoi\u002F94718341\n.. image:: https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Famirsinatorfi.svg?label=Follow&style=social\n      :target: https:\u002F\u002Ftwitter.com\u002Famirsinatorfi\n\n\nThis repository contains the code release for our paper titled as *\"Text-Independent\nSpeaker Verification Using 3D Convolutional Neural Networks\"*. The link to the paper_ is\nprovided as well.\n\n\n.. _Official Project Page: https:\u002F\u002Fcodeocean.com\u002F2017\u002F08\u002F01\u002F3d-convolutional-neural-networks-for-speaker-recognition\u002Fcode\n.. _Pytorch Implementation: https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition-pytorch\n\n.. _paper: https:\u002F\u002Farxiv.org\u002Fabs\u002F1705.09422\n.. _TensorFlow: https:\u002F\u002Fwww.tensorflow.org\u002F\n\nThe code has been developed using TensorFlow_. The input pipeline must be prepared by the users.\nThis code is aimed to provide the implementation for Speaker Verification (SR) by using 3D convolutional neural networks\nfollowing the SR protocol.\n\n.. image:: readme_images\u002Fconv_gif.gif\n    :target: https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fblob\u002Fmaster\u002F_images\u002Fconv_gif.gif\n\n------------\nCitation\n------------\n\nIf you used this code, please kindly consider citing the following paper:\n\n.. code:: shell\n\n    @article{torfi2017text,\n      title={Text-independent speaker verification using 3d convolutional neural networks},\n      author={Torfi, Amirsina and Nasrabadi, Nasser M and Dawson, Jeremy},\n      journal={arXiv preprint arXiv:1705.09422},\n      year={2017}\n    }\n\n-----\nDEMO\n-----\n\nFor running a demo, after forking the repository, run the following scrit:\n\n.. code:: shell\n\n    .\u002Frun.sh\n\n|speakerrecognition|\n\n.. |speakerrecognition| image:: readme_images\u002Fspeakerrecognition.png\n    :target: https:\u002F\u002Fasciinema.org\u002Fa\u002Fyfy6FryUAWWMl1vgylrRagMdw\n\n\n\n--------------\nGeneral View\n--------------\n\nWe leveraged 3D convolutional architecture for creating the speaker model in order to simultaneously\ncapturing the speech-related and temporal information from the speakers' utterances.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nSpeaker Verification Protocol(SVP)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIn this work, a 3D Convolutional Neural Network (3D-CNN)\narchitecture has been utilized for text-independent speaker\nverification in three phases.\n\n     1. At the **development phase**, a CNN is trained\n     to classify speakers at the utterance-level.\n\n     2. In the **enrollment stage**, the trained network is utilized to directly create a\n     speaker model for each speaker based on the extracted features.\n\n     3. Finally, in the **evaluation phase**, the extracted features\n     from the test utterance will be compared to the stored speaker\n     model to verify the claimed identity.\n\nThe aforementioned three phases are usually considered as the SV protocol. One of the main\nchallenges is the creation of the speaker models. Previously-reported approaches create\nspeaker models based on averaging the extracted features from utterances of the speaker,\nwhich is known as the d-vector system.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nHow to leverage 3D Convolutional Neural Networks?\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIn our paper, we propose the implementation of 3D-CNNs for direct speaker model creation\nin which, for both development and enrollment phases, an identical number of\nspeaker utterances is fed to the network for representing the spoken utterances\nand creation of the speaker model. This leads to simultaneously capturing the\nspeaker-related information and building a more robust system to cope with\nwithin-speaker variation. We demonstrate that the proposed method significantly\noutperforms the d-vector verification system.\n\n\n--------------------\nCode Implementation\n--------------------\n\nThe input pipeline must be provided by the user. **Please refer to ``code\u002F0-input\u002Finput_feature.py`` for having an idea about how the input pipeline works.**\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nInput Pipeline for this work\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. image:: readme_images\u002FSpeech_GIF.gif\n    :target: https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fblob\u002Fmaster\u002F_images\u002FSpeech_GIF.gif\n\nThe MFCC features can be used as the data representation of the spoken utterances at the frame level. However, a\ndrawback is their non-local characteristics due to the last DCT 1 operation for generating MFCCs. This operation disturbs the locality property and is in contrast with the local characteristics of the convolutional operations. The employed approach in this work is to use the log-energies, which we\ncall MFECs. The extraction of MFECs is similar to MFCCs\nby discarding the DCT operation. The temporal features are\noverlapping 20ms windows with the stride of 10ms, which are\nused for the generation of spectrum features. From a 0.8-\nsecond sound sample, 80 temporal feature sets (each forms\na 40 MFEC features) can be obtained which form the input\nspeech feature map. Each input feature map has the dimen-\nsionality of ζ × 80 × 40 which is formed from 80 input\nframes and their corresponding spectral features, where ζ is\nthe number of utterances used in modeling the speaker during\nthe development and enrollment stages.\n\n\n\nThe **speech features** have been extracted using [SpeechPy]_ package.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nImplementation of 3D Convolutional Operation\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. _Slim: https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftensorflow\u002Ftree\u002Fmaster\u002Ftensorflow\u002Fcontrib\u002Fslim\n\nThe Slim_ high-level API made our life very easy. The following script has been used for our\nimplementation:\n\n.. code:: python\n\n        net = slim.conv2d(inputs, 16, [3, 1, 5], stride=[1, 1, 1], scope='conv11')\n        net = PReLU(net, 'conv11_activation')\n        net = slim.conv2d(net, 16, [3, 9, 1], stride=[1, 2, 1], scope='conv12')\n        net = PReLU(net, 'conv12_activation')\n        net = tf.nn.max_pool3d(net, strides=[1, 1, 1, 2, 1], ksize=[1, 1, 1, 2, 1], padding='VALID', name='pool1')\n\n        ############ Conv-2 ###############\n        ############ Conv-1 ###############\n        net = slim.conv2d(net, 32, [3, 1, 4], stride=[1, 1, 1], scope='conv21')\n        net = PReLU(net, 'conv21_activation')\n        net = slim.conv2d(net, 32, [3, 8, 1], stride=[1, 2, 1], scope='conv22')\n        net = PReLU(net, 'conv22_activation')\n        net = tf.nn.max_pool3d(net, strides=[1, 1, 1, 2, 1], ksize=[1, 1, 1, 2, 1], padding='VALID', name='pool2')\n\n        ############ Conv-3 ###############\n        ############ Conv-1 ###############\n        net = slim.conv2d(net, 64, [3, 1, 3], stride=[1, 1, 1], scope='conv31')\n        net = PReLU(net, 'conv31_activation')\n        net = slim.conv2d(net, 64, [3, 7, 1], stride=[1, 1, 1], scope='conv32')\n        net = PReLU(net, 'conv32_activation')\n        # net = slim.max_pool2d(net, [1, 1], stride=[4, 1], scope='pool1')\n\n        ############ Conv-4 ###############\n        net = slim.conv2d(net, 128, [3, 1, 3], stride=[1, 1, 1], scope='conv41')\n        net = PReLU(net, 'conv41_activation')\n        net = slim.conv2d(net, 128, [3, 7, 1], stride=[1, 1, 1], scope='conv42')\n        net = PReLU(net, 'conv42_activation')\n        # net = slim.max_pool2d(net, [1, 1], stride=[4, 1], scope='pool1')\n\n        ############ Conv-5 ###############\n        net = slim.conv2d(net, 128, [4, 3, 3], stride=[1, 1, 1], normalizer_fn=None, scope='conv51')\n        net = PReLU(net, 'conv51_activation')\n\n        # net = slim.conv2d(net, 256, [1, 1], stride=[1, 1], scope='conv52')\n        # net = PReLU(net, 'conv52_activation')\n\n        # Last layer which is the logits for classes\n        logits = tf.contrib.layers.conv2d(net, num_classes, [1, 1, 1], activation_fn=None, scope='fc')\n\n\nAs it can be seen, ``slim.conv2d`` has been used. However, simply by using 3D kernels as ``[k_x, k_y, k_z]``\nand ``stride=[a, b, c]`` it can be turned into a 3D-conv operation. The base of the ``slim.conv2d`` is\n``tf.contrib.layers.conv2d``. Please refer to official Documentation_ for further details.\n\n.. _Documentation: https:\u002F\u002Fwww.tensorflow.org\u002Fapi_docs\u002Fpython\u002Ftf\u002Fcontrib\u002Flayers\n\n\n-----------\nDisclaimer\n-----------\n\n.. _link: https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Fslim\n\nThe code architecture part has been heavily inspired by Slim_ and Slim image classification\nlibrary. Please refer to this link_ for further details.\n\n---------\nCitation\n---------\n\nIf you used this code please kindly cite the following paper:\n\n.. code:: shell\n\n  @article{torfi2017text,\n    title={Text-Independent Speaker Verification Using 3D Convolutional Neural Networks},\n    author={Torfi, Amirsina and Nasrabadi, Nasser M and Dawson, Jeremy},\n    journal={arXiv preprint arXiv:1705.09422},\n    year={2017}\n  }\n\n--------\nLicense\n--------\n\nThe license is as follows:\n\n.. code:: shell\n\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"{}\"\n      replaced with your own identifying information. (Don't include the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright {2017} {Amirsina Torfi}\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n\n\nPlease refer to LICENSE_ file for further detail.\n\n.. _LICENSE: https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fblob\u002Fmaster\u002FLICENSE\n\n\n-------------\nContribution\n-------------\n\nWe are looking forward to your kind feedback. Please help us to improve the code and make\nour work better. For contribution, please create the pull request and we will investigate it promptly.\nOnce again, we appreciate your feedback and code inspections.\n\n\n.. rubric:: references\n\n.. [SpeechPy] Amirsina Torfi. 2017. astorfi\u002Fspeech_feature_extraction: SpeechPy. Zenodo. doi:10.5281\u002Fzenodo.810392.\n","=========================================================================================================================\n用于说话人验证的三维卷积神经网络 TensorFlow 实现 - `官方项目页面`_ - `PyTorch 实现`_\n=========================================================================================================================\n\n.. image:: https:\u002F\u002Fcodecov.io\u002Fgh\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg\n   :target: https:\u002F\u002Fcodecov.io\u002Fgh\u002Fastorfi\u002F3D-convolutional-speaker-recognition\n.. image:: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcontributions-welcome-brightgreen.svg?style=flat\n    :target: https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fpulls\n.. image:: https:\u002F\u002Fbadges.frapsoft.com\u002Fos\u002Fv2\u002Fopen-source.svg?v=102\n    :target: https:\u002F\u002Fgithub.com\u002Fellerbrock\u002Fopen-source-badge\u002F\n.. image:: https:\u002F\u002Fzenodo.org\u002Fbadge\u002F94718341.svg\n   :target: https:\u002F\u002Fzenodo.org\u002Fbadge\u002Flatestdoi\u002F94718341\n.. image:: https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Famirsinatorfi.svg?label=Follow&style=social\n      :target: https:\u002F\u002Ftwitter.com\u002Famirsinatorfi\n\n\n本仓库包含了我们题为《使用三维卷积神经网络进行文本无关的说话人验证》论文的代码发布。论文链接_ 也一并提供。\n\n.. _Official Project Page: https:\u002F\u002Fcodeocean.com\u002F2017\u002F08\u002F01\u002F3d-convolutional-neural-networks-for-speaker-recognition\u002Fcode\n.. _Pytorch Implementation: https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition-pytorch\n\n.. _paper: https:\u002F\u002Farxiv.org\u002Fabs\u002F1705.09422\n.. _TensorFlow: https:\u002F\u002Fwww.tensorflow.org\u002F\n\n代码采用 TensorFlow_ 开发，输入管道需由用户自行准备。该代码旨在按照说话人验证协议，利用三维卷积神经网络实现说话人验证（SR）。\n\n.. image:: readme_images\u002Fconv_gif.gif\n    :target: https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fblob\u002Fmaster\u002F_images\u002Fconv_gif.gif\n\n------------\n引用\n------------\n\n如果您使用了此代码，请考虑引用以下论文：\n\n.. code:: shell\n\n    @article{torfi2017text,\n      title={Text-independent speaker verification using 3d convolutional neural networks},\n      author={Torfi, Amirsina and Nasrabadi, Nasser M and Dawson, Jeremy},\n      journal={arXiv preprint arXiv:1705.09422},\n      year={2017}\n    }\n\n-----\n演示\n-----\n\n要运行演示，在 fork 仓库后，执行以下脚本：\n\n.. code:: shell\n\n    .\u002Frun.sh\n\n|speakerrecognition|\n\n.. |speakerrecognition| image:: readme_images\u002Fspeakerrecognition.png\n    :target: https:\u002F\u002Fasciinema.org\u002Fa\u002Fyfy6FryUAWWMl1vgylrRagMdw\n\n\n\n--------------\n总体概述\n--------------\n\n我们利用三维卷积架构来构建说话人模型，以便同时捕捉来自说话者语音的声学特征和时间信息。\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n说话人验证协议 (SVP)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n在本工作中，我们采用三维卷积神经网络 (3D-CNN) 架构，分三个阶段进行文本无关的说话人验证。\n\n     1. 在 **开发阶段**，训练一个 CNN 来对单个语音片段进行说话人分类。\n\n     2. 在 **注册阶段**，利用训练好的网络直接根据提取的特征为每个说话人创建说话人模型。\n\n     3. 最后，在 **评估阶段**，将测试语音中提取的特征与存储的说话人模型进行比较，以验证声称的身份。\n\n上述三个阶段通常被视为说话人验证协议。其中的主要挑战之一是说话人模型的创建。先前报道的方法基于对说话者语音中提取特征的平均值来创建说话人模型，这种方法被称为 d-vector 系统。\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n如何利用三维卷积神经网络？\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n在我们的论文中，我们提出了一种直接创建说话人模型的 3D-CNN 实现方法：在开发和注册阶段，向网络输入相同数量的说话人语音，以此表示语音内容并创建说话人模型。这使得我们可以同时捕捉说话人的相关信息，并构建一个更鲁棒的系统来应对同一说话人内部的变化。我们证明了所提出的方法显著优于 d-vector 验证系统。\n\n\n--------------------\n代码实现\n--------------------\n\n输入管道需由用户自行提供。**请参阅 ``code\u002F0-input\u002Finput_feature.py`` 以了解输入管道的工作方式。**\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n本工作的输入管道\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. image:: readme_images\u002FSpeech_GIF.gif\n    :target: https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fblob\u002Fmaster\u002F_images\u002FSpeech_GIF.gif\n\nMFCC 特征可以用作语音帧级别的数据表示。然而，其缺点在于由于生成 MFCC 的最后一道 DCT 1 操作导致的非局部特性。这一操作破坏了局部性，与卷积操作的局部特性相悖。本工作采用的方法是使用对数能量，我们称之为 MFEC。MFEC 的提取过程类似于 MFCC，只是去掉了 DCT 操作。时间特征是以 10ms 步长重叠的 20ms 窗口，用于生成频谱特征。从一段 0.8 秒的音频样本中，可以得到 80 组时间特征（每组包含 40 个 MFEC 特征），这些特征共同构成输入的语音特征图。每个输入特征图的维度为 ζ × 80 × 40，由 80 个输入帧及其对应的频谱特征组成，其中 ζ 表示在开发和注册阶段用于建模说话人的语音数量。\n\n\n\n**语音特征**是使用 [SpeechPy]_ 包提取的。\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n三维卷积操作的实现\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. _Slim: https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftensorflow\u002Ftree\u002Fmaster\u002Ftensorflow\u002Fcontrib\u002Fslim\n\nSlim_ 高级 API 使我们的工作变得非常容易。我们采用了以下脚本来实现：\n\n.. code:: python\n\n        net = slim.conv2d(inputs, 16, [3, 1, 5], stride=[1, 1, 1], scope='conv11')\n        net = PReLU(net, 'conv11_activation')\n        net = slim.conv2d(net, 16, [3, 9, 1], stride=[1, 2, 1], scope='conv12')\n        net = PReLU(net, 'conv12_activation')\n        net = tf.nn.max_pool3d(net, strides=[1, 1, 1, 2, 1], ksize=[1, 1, 1, 2, 1], padding='VALID', name='pool1')\n\n############ 卷积-2 ###############\n        ############ 卷积-1 ###############\n        net = slim.conv2d(net, 32, [3, 1, 4], stride=[1, 1, 1], scope='conv21')\n        net = PReLU(net, 'conv21_activation')\n        net = slim.conv2d(net, 32, [3, 8, 1], stride=[1, 2, 1], scope='conv22')\n        net = PReLU(net, 'conv22_activation')\n        net = tf.nn.max_pool3d(net, strides=[1, 1, 1, 2, 1], ksize=[1, 1, 1, 2, 1], padding='VALID', name='pool2')\n\n        ############ 卷积-3 ###############\n        ############ 卷积-1 ###############\n        net = slim.conv2d(net, 64, [3, 1, 3], stride=[1, 1, 1], scope='conv31')\n        net = PReLU(net, 'conv31_activation')\n        net = slim.conv2d(net, 64, [3, 7, 1], stride=[1, 1, 1], scope='conv32')\n        net = PReLU(net, 'conv32_activation')\n        # net = slim.max_pool2d(net, [1, 1], stride=[4, 1], scope='pool1')\n\n        ############ 卷积-4 ###############\n        net = slim.conv2d(net, 128, [3, 1, 3], stride=[1, 1, 1], scope='conv41')\n        net = PReLU(net, 'conv41_activation')\n        net = slim.conv2d(net, 128, [3, 7, 1], stride=[1, 1, 1], scope='conv42')\n        net = PReLU(net, 'conv42_activation')\n        # net = slim.max_pool2d(net, [1, 1], stride=[4, 1], scope='pool1')\n\n        ############ 卷积-5 ###############\n        net = slim.conv2d(net, 128, [4, 3, 3], stride=[1, 1, 1], normalizer_fn=None, scope='conv51')\n        net = PReLU(net, 'conv51_activation'\n\n        # net = slim.conv2d(net, 256, [1, 1], stride=[1, 1], scope='conv52')\n        # net = PReLU(net, 'conv52_activation'\n\n        # 最后一层是用于分类的logits\n        logits = tf.contrib.layers.conv2d(net, num_classes, [1, 1, 1], activation_fn=None, scope='fc')\n\n\n从代码中可以看出，使用了``slim.conv2d``。然而，只需将卷积核设置为三维形式``[k_x, k_y, k_z]``以及步幅``stride=[a, b, c]``，即可将其转换为三维卷积操作。``slim.conv2d``的基础是``tf.contrib.layers.conv2d``。更多详细信息请参阅官方文档_。\n\n.. _Documentation: https:\u002F\u002Fwww.tensorflow.org\u002Fapi_docs\u002Fpython\u002Ftf\u002Fcontrib\u002Flayers\n\n\n-----------\n免责声明\n-----------\n\n.. _link: https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Fslim\n\n代码架构部分深受Slim_及其图像分类库的启发。更多详情请参阅此链接_。\n\n---------\n引用\n---------\n\n如果您使用了本代码，请务必引用以下论文：\n\n.. code:: shell\n\n  @article{torfi2017text,\n    title={Text-Independent Speaker Verification Using 3D Convolutional Neural Networks},\n    author={Torfi, Amirsina and Nasrabadi, Nasser M and Dawson, Jeremy},\n    journal={arXiv preprint arXiv:1705.09422},\n    year={2017}\n  }\n\n--------\n许可\n--------\n\n许可如下：\n\n.. code:: shell\n\n\n   附录：如何将Apache许可证应用于您的作品。\n\n      要将Apache许可证应用于您的作品，请附加以下标准声明，并将方括号中的内容“{}”替换为您自己的身份信息。（不要包含方括号！）文本应使用相应文件格式的注释语法进行包裹。我们还建议在与版权通知同一页上注明文件或类名及用途说明，以便于第三方存档中的识别。\n\n   版权所有 {2017} {Amirsina Torfi}\n\n   根据Apache许可证第2.0版（“许可证”）授权；\n   除非遵守该许可证，否则不得使用本文件。\n   您可以从以下地址获取许可证副本：\n\n       http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\n\n   除非适用法律要求或书面同意，否则根据“AS IS”的基础分发软件，\n   不提供任何形式的保证或条件。\n   许可证的具体语言、权限和限制条款请参阅许可证本身。\n\n\n更多细节请参阅LICENSE_文件。\n\n.. _LICENSE: https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fblob\u002Fmaster\u002FLICENSE\n\n\n-------------\n贡献\n-------------\n\n我们期待您的宝贵反馈。请帮助我们改进代码，使我们的工作更加完善。如需贡献，请创建拉取请求，我们将尽快审核。再次感谢您的反馈和代码审查。\n\n\n.. rubric:: 参考文献\n\n.. [SpeechPy] Amirsina Torfi. 2017. astorfi\u002Fspeech_feature_extraction: SpeechPy. Zenodo. doi:10.5281\u002Fzenodo.810392.","# 3D-convolutional-speaker-recognition 快速上手指南\n\n本项目是基于 TensorFlow 实现的**文本无关说话人验证**（Text-Independent Speaker Verification）系统，核心采用 3D 卷积神经网络（3D-CNN）架构，能够同时捕捉语音的频谱特征与时序信息。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux 或 macOS (Windows 需通过 WSL 运行)\n*   **Python**: 建议 Python 3.6+\n*   **深度学习框架**: TensorFlow (注意：代码使用了 `tf.contrib.slim`，建议使用 TensorFlow 1.x 版本，如 1.12-1.15)\n*   **依赖库**:\n    *   `SpeechPy`: 用于提取语音特征 (MFECs)\n    *   `numpy`, `scipy` 等基础科学计算库\n\n**前置依赖安装命令**：\n\n```bash\npip install tensorflow==1.15.0\npip install speechpy\npip install numpy scipy\n```\n\n> **提示**：由于原项目基于 TensorFlow 1.x 构建，若使用 TensorFlow 2.x，可能需要手动兼容 `tf.contrib` 模块或使用迁移工具。\n\n## 安装步骤\n\n1.  **克隆仓库**\n    将项目代码下载到本地：\n\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition.git\n    cd 3D-convolutional-speaker-recognition\n    ```\n\n2.  **准备输入数据管道**\n    本项目**不包含**原始数据集，用户需自行准备输入数据管道。\n    *   特征提取：项目推荐使用 **MFECs** (Log-energies) 而非传统的 MFCCs，以保留局部特性。\n    *   参考实现：请查看 `code\u002F0-input\u002Finput_feature.py` 了解如何构建输入特征映射。\n    *   输入维度：生成的特征图维度应为 $\\zeta \\times 80 \\times 40$，其中 $\\zeta$ 为用于建模的语音片段数量，80 为时间帧数，40 为频谱特征数。\n\n## 基本使用\n\n项目提供了一个简单的演示脚本，用于展示完整的运行流程（包括模型加载与推理演示）。\n\n**运行演示**：\n\n在项目根目录下执行以下脚本：\n\n```bash\n.\u002Frun.sh\n```\n\n如果脚本没有执行权限，请先赋予权限：\n\n```bash\nchmod +x run.sh\n.\u002Frun.sh\n```\n\n**核心流程说明**：\n该演示遵循标准的说话人验证协议（SVP），包含三个阶段：\n1.  **开发阶段 **(Development): 训练 CNN 在语句级别对说话人进行分类。\n2.  **注册阶段 **(Enrollment): 利用训练好的网络，基于提取的特征直接为每个说话人生成模型。\n3.  **评估阶段 **(Evaluation): 将测试语句的特征与存储的说话人模型进行比对，验证身份。\n\n**自定义训练\u002F推理**：\n若需修改网络结构或进行特定训练，请参考 `code\u002F` 目录下的具体实现。核心 3D 卷积层通过 `slim.conv2d` 配合 3D 核（如 `[3, 1, 5]`）实现，示例如下：\n\n```python\nnet = slim.conv2d(inputs, 16, [3, 1, 5], stride=[1, 1, 1], scope='conv11')\nnet = PReLU(net, 'conv11_activation')\n# ... 后续层定义见源码\n```\n\n---\n*注：如果您在研究中使用了此代码，请引用原文论文：Torfi, Amirsina, et al. \"Text-independent speaker verification using 3d convolutional neural networks.\" arXiv preprint arXiv:1705.09422 (2017).*","某金融科技公司正在开发一款高安全等级的远程银行身份认证系统，需要确保用户仅凭语音即可通过复杂的声纹核验。\n\n### 没有 3D-convolutional-speaker-recognition 时\n- **抗干扰能力弱**：传统二维模型难以同时捕捉语音的频谱特征与时间动态，导致用户在背景嘈杂或语速变化时验证频繁失败。\n- **易受文本依赖限制**：旧方案往往要求用户念出固定数字串，若用户自由说话（文本无关场景），系统准确率断崖式下跌。\n- **特征表达粗糙**：采用简单的平均池化生成声纹模型（如 d-vector），丢失了语音中细微的个性化时序信息，无法区分高度相似的音色。\n- **误识风险高**：面对录音重放攻击或经过简单处理的合成语音，系统缺乏深层时空关联分析能力，存在被欺骗隐患。\n\n### 使用 3D-convolutional-speaker-recognition 后\n- **时空特征深度融合**：利用 3D 卷积架构同步提取语音的频谱图与时间维度信息，显著提升了在噪声环境和自然语流下的鲁棒性。\n- **实现真正的文本无关验证**：模型在开发阶段即针对语句级分类训练，用户无需背诵特定口令，日常对话即可完成高精度身份确认。\n- **构建精细化声纹模型**：摒弃简单的特征平均策略，直接基于深度网络提取的高维特征建立个人模型，精准捕捉独特发声习惯。\n- **防御欺诈能力提升**：通过对语音信号深层时空模式的建模，有效识别并拦截录音重放等常见攻击手段，保障资金安全。\n\n3D-convolutional-speaker-recognition 通过引入三维卷积神经网络，将声纹识别从静态特征匹配升级为动态时空感知，彻底解决了复杂场景下身份核验的准确性与安全性难题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fastorfi_3D-convolutional-speaker-recognition_6a395a62.png","astorfi","Sina Torfi","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fastorfi_af2bf404.png","PhD & Developer\r\nworking on Deep Learning, Computer Vision & NLP\r\n","Meta","San Jose","amirsina.torfi@gmail.com",null,"https:\u002F\u002Fastorfi.github.io\u002F","https:\u002F\u002Fgithub.com\u002Fastorfi",[87,91],{"name":88,"color":89,"percentage":90},"Python","#3572A5",98.4,{"name":92,"color":93,"percentage":94},"Shell","#89e051",1.6,792,267,"2026-02-26T12:18:32","Apache-2.0",4,"未说明","未说明 (基于 TensorFlow 实现，通常建议使用支持 CUDA 的 NVIDIA GPU)",{"notes":103,"python":100,"dependencies":104},"该项目使用较旧的 TensorFlow 版本及已废弃的 tf.contrib.slim 模块，现代环境可能需要修改代码才能运行。用户需自行准备输入数据管道（Input Pipeline），特征提取推荐使用 SpeechPy 包生成的 MFECs（对数能量）。代码包含演示脚本 run.sh，通常在 Linux 环境下运行。",[105,106,107],"TensorFlow","tensorflow-contrib-slim","SpeechPy",[54,13],[110,111,112,113],"convolutional-neural-networks","deep-learning","speaker-recognition","3d","2026-03-27T02:49:30.150509","2026-04-06T05:37:26.885786",[117,122,127,132,137,142],{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},14945,"如何创建或生成用于训练的 .hdf5 数据文件？","维护者已不再推荐使用静态的 .hdf5 数据集方法。建议采用动态特征生成方式，即按批次提取特征。请参考代码库中的 `code\u002F0-input\u002Finput_feature.py` 文件，该文件包含了准确的输入管道和特征生成函数。如果您必须生成 .hdf5 文件（例如用于评估），需要手动构建包含 \"lab\" (标签数组) 和 \"feat\" (特征矩阵) 的数据结构，并确保在代码中正确加载这些文件而非默认文件。","https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fissues\u002F38",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},14946,"输入数据的形状为什么是 (Frames, Features, 3)，其中的第 3 个维度（通道数）代表什么？","输入数据通常由 MFCC 特征构成。标准的 MFCC 形状为 (帧数，特征数)，但在本项目的 3D 卷积架构中，需要添加一个通道维度以适配卷积输入（类似图像的 RGB 通道）。虽然物理上音频可能只有一个通道，但在数据处理时通常会复制特征或进行特定堆叠以形成 3 个通道（例如形状变为 3209x40x3）。具体创建 `Feature_mfec.npy` 文件的方法应参考项目论文及 `create_development.py` 脚本中的处理逻辑，不要纠结于具体的变量命名（如 `train_files_subjects_list`），而应遵循论文描述的数据流程。","https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fissues\u002F11",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},14947,"为什么我的模型评估结果很差（如 EER 高达 40%），特别是在使用小数据集或自定义数据集时？","主要原因通常是数据集差异和实验设置错误。首先，该模型针对大规模数据集训练，在小数据集上可能无法正常工作且需要重新调整超参数。其次，请检查说话人验证（Speaker Verification）的设置是否正确：在评估阶段，所有已知说话人（例如 100 人）都必须同时用于注册（enrollment）和评估阶段，因为我们需要将测试语音与这些已知说话人的模型进行比较。对于未注册的说话人（unenrolled），由于模型不是端到端的，我们无法为其建立模型，因此不能像分类任务那样简单划分训练集和测试集。请务必仔细阅读相关论文以理解正确的评估协议。","https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fissues\u002F35",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},14948,"如何为新数据集生成开发（development）、注册（enrollment）和评估（evaluation）所需的 HDF5 文件？","`input_feature.py` 主要用于生成开发文件。若要生成用于注册和评估的 HDF5 文件，您需要遵循现有示例文件的结构：创建一个 HDF5 文件，其中包含两个主要数据集：\"lab\"（标签数组）和 \"feat\"（特征矩阵）。您需要分别为评估和注册阶段准备独立的 \"lab\" 和 \"feat\" 数组。可以在 `input_feature.py` 代码末尾添加逻辑来保存这些文件（注意使用正确的 HDF5 库方法，如 `h5py` 而不是直接打开文本文件）。生成后，在主代码中加载这些新生成的 `.hdf5` 文件即可用于相应阶段。","https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fissues\u002F41",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},14949,"运行脚本时出现 numpy 版本警告或 sklearn 弃用警告，会影响结果吗？如何解决？","这些警告（如 `numpy.dtype size changed` 或 `sklearn.cross_validation` 弃用）通常是由于依赖库版本不匹配引起的，一般不影响核心功能的运行，但建议更新环境。维护者建议首先更新您的代码 fork 以获取最新的修改。对于输入管道问题，请确保运行最新版本的 `run.sh` 脚本。如果遇到问题，可以尝试调整超参数，因为该架构本质上是一个 Softmax 分类器，适当的参数调整通常能在训练集上获得良好的结果。","https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fissues\u002F1",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},14950,"如何在自己的数据集上重新训练模型（例如只有少量说话人和录音）？","您可以在自己的数据集上重新训练，但需要注意数据预处理步骤。首先使用工具（如 `speechpy`）从 wav 文件中提取 3D npy 特征。然后，利用项目中的 `create_development.py` 脚本来构建训练数据。如果您的数据集较小（例如只有几个说话人和几小时录音），可能需要调整网络结构或超参数以适应数据规模。此外，确保您的数据格式（帧数、特征数、通道数）与模型输入要求一致，必要时需对特征进行填充或截断。","https:\u002F\u002Fgithub.com\u002Fastorfi\u002F3D-convolutional-speaker-recognition\u002Fissues\u002F7",[148,153],{"id":149,"version":150,"summary_zh":151,"released_at":152},81768,"1.1","本项目旨在遵循说话人确认（SR）协议，利用三维卷积神经网络实现说话人确认功能。","2017-08-09T21:11:31",{"id":154,"version":155,"summary_zh":151,"released_at":156},81769,"1.0","2017-07-30T02:33:29"]