Windows证书管理说明

Win7管理受信任证书 - CA证书 - 系统根证书 步骤 1.开始—>运行mmc 2.点击“文件—添加/删除管理单元” 3.选择“证书”,并点击“添加” 4.选择“我的用户帐户”后点击“完成” 5.点击“确定”。。。。 阅读详情
AI摘要

本文深入解析Windows环境下证书的查看、导入、导出及管理过程,包括证书文件类型的默认打开方式、证书存储位置的选择、证书信息的查看与导出,以及证书管理工具的使用方法。

Windows证书管理

以下内容在Windows 7 Ultimate SP1 64位环境进行分析。

证书查看与添加工具

证书打开方式分析

Windows环境中证书相关的文件类型使用“加密外壳扩展”作为默认打开方式。

注册表项HKEY_CLASSES_ROOT中,“HKEY_CLASSES_ROOT.cer”、“HKEY_CLASSES_ROOT.crt”、“HKEY_CLASSES_ROOT.der”项的默认值为“CERFile”,“Content Type”属性的值为“application/x-x509-ca-cert”。“HKEY_CLASSES_ROOT.p12”、“HKEY_CLASSES_ROOT.pfx”项的默认值为“PFXFile”,“Content Type”属性的值为“application/x-pkcs12”。

注册表项HKEY_CLASSES_ROOT\CERFile中,shell\open\command项的默认值为“%SystemRoot%\system32\rundll32.exe cryptext.dll,CryptExtOpenCER %1”,shell\add\command项的默认值为“%SystemRoot%\system32\rundll32.exe cryptext.dll,CryptExtAddCER %1”。

注册表项HKEY_CLASSES_ROOT\PFXFile中,shell\add\command项的默认值为“%SystemRoot%\system32\rundll32.exe cryptext.dll,CryptExtAddPFX %1”,无shell\open\command项。

cryptext.dll在%SystemRoot%\system32目录中,文件说明为“加密外壳扩展”。“CryptExtOpenCER”、“CryptExtAddCER”、“CryptExtAddPFX”均为cryptext.dll的导出函数。

当在资源管理器中双击文件类型为“cer”、“crt”、“der”的文件时,会使用“%SystemRoot%\system32\rundll32.exe cryptext.dll,CryptExtOpenCER %1”方式打开,会显示证书信息,示例如下。打开证书信息界面后,点击“常规”面签下的“安装证书”按钮,会进入证书导入向导。

当在资源管理器中对文件类型为“cer”、“crt”、“der”的文件点击右键并选择“安装证书”时,会使用“%SystemRoot%\system32\rundll32.exe cryptext.dll,CryptExtAddCER %1”方式打开,会进入证书导入向导,示例如下。

当在资源管理器中双击文件类型为“p12”、“pfx”的文件时,或点击右键并选择“安装PFX”时,会使用“%SystemRoot%\system32\rundll32.exe cryptext.dll,CryptExtAddPFX %1”方式打开,会进入证书导入向导,示例与上图相同。

证书导入

进入证书导入向导后,可以选择证书的存储位置。

可以选择的存储位置包括:个人、受信任的根证书颁发机构、企业信任、中级证书颁发机构、受信任的发布者、不信任的证书、第三方根证书颁发机构、受信任人、其他人、智能卡受信任的根。

Windows可以自动选择证书存储位置,但可能与预期不符。

当导入CA根证书时,存储位置应选择“受信任的根证书颁发机构”;当导入中级CA证书时,存储位置应选择“中级证书颁发机构”;当导入PKCS# 12证书时,存储位置应选择“个人”。

当导入CA根证书时,会出现确认提示框。

当导入PKCS# 12证书时,需要输入密码,若需要证书可被导出,需要钩选“标志此密钥为可导出的密钥。这将允许您在稍后备份或传输密钥”。

Windows环境中证书相关的信息在文件系统中保存的目录为“C:\Users[当前用户]\AppData\Roaming\Microsoft\SystemCertificates”。在注册表中保存的路径为“HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates”。证书信息存储位置与用户有关。

查看证书信息

进入证书导入向导后窗口,

显示证书信息的窗口中,“详细信息”标签中显示了证书的详细信息,与使用keytool及openssl命令查询的结果基本一致。示例如下。

当证书为CA证书时,在证书信息的“详细信息”标签中的“基本约束”字段参数为“Subject Type=CA”;当证书非CA证书时,在证书信息的“详细信息”标签中的“基本约束”字段参数为“Subject Type=End Entity”。

在查看存在证书链的证书时,需要将对应的CA证书均导入才,才能在“证书路径”页签中查看证书链信息,否则只能查看当前证书信息。

证书导出

在证书信息的“详细信息”标签中,点击“复制到文件”按钮可导出证书,可实现对证书格式进行转换,示例如下。

点击上图中的“证书文件格式”,会打开Windows的证书帮助的“证书->证书概述->证书文件格式”部分,可查看证书导入与导出操作支持的文件格式。

证书管理工具

证书管理工具可通过“certmgr.msc”命令打开。

证书查看功能

在证书管理工具中可查看已导入的证书。

PKCS# 12证书导入了密钥,图标与其他证书不同。查看证书信息,会显示“您有一个与该证书对应的私钥。”。

证书导出功能

选择证书后,点击“操作”菜单的“所有任务”“导出”功能,或在证书列表某证书点击右键后选择“所有任务”“导出”功能,可将证书导出。

PKCS# 12证书在导入时需要选择“标志此密钥为可导出的密钥。这将允许您在稍后备份或传输密钥。”才允许导出。在导出时需要选择“是,导出私钥”才可以导出私钥。

导出PKCS# 12证书(包含私钥)时,导出格式需选择“个人信息交换 - PKCS # 12(.PFX)”。

导出PKCS# 12证书(包含私钥)时,需要设置密码。

证书删除功能

以下操作均可删除证书,支持删除多个证书。

选择证书后按delete键也可删除证书。

部分证书需要管理员权限才可以删除。

通过IE打开证书管理工具

在IE选项的“内容”面签中点击“证书”按钮,也可以打开证书管理工具。

无Mac环境发布iOS应用的技术方案与实践 在移动开发领域,跨平台构建与发布是提升开发效率的关键技术。通过抽象化构建流程和云端资源调度,开发者可以突破硬件环境限制,实现Windows/Linux系统下的iOS应用发布。核心原理在于利用Flutter、React Native等跨平台框架的构建命令,配合Fastlane等自动化工具管理证书与描述文件。这种技术方案显著降低了开发门槛,特别适合个人开发者和小型团队快速迭代。实际应用中,可结合AWS EC2 Mac实例等云服务完成最终签名,或使用App Center等SaaS平台实现一站式发布。随着Swift 阅读详情

相关推荐

Windows Server 搭建证书管理服务器实战

将传输的数据加密(Encryption);接收者计算机会验证收到的数据是否是由发件人本人发送来的(Authentication);接收者计算机还会确认数据的完整性(Integrity),也就是检查数据在传输过程中是否被篡改;PKI根据公开密钥加密(Public Key Cryptography)来提供上述功能,而用户需要拥有以下的一组密钥来支持这些功能。公钥:用户的公钥(Public Key)可以公开给其他用户;

悦分享 902

深入浅出certmgr——Windows证书管理器

certmgr是证书管理器,一般在Windows操作系统中自带。它可以让用户安装、浏览、导入和导出证书,同时也可以撤销、删除和管理证书链等操作。除了在命令行中使用certmgr.msc来打开证书管理器之外,用户还可以在控制面板或直接在运行框中输入certmgr打开证书管理器。本文对Windows下的证书管理器certmgr进行了简要介绍,主要涉及证书的作用、certmgr的基本介绍、证书的安装与浏览、证书的导出与备份以及证书的删除与管理。

xcntime的专栏 2687

2、深入探索 Windows Server 2019:从基础到高级应用

本文深入探讨了 Windows Server 2019 的核心功能与高级应用,涵盖了从基础界面操作到系统监控、备份、安全加固等多个方面。适合系统管理员和 IT 专业人士学习如何通过 GUI 和 PowerShell 进行高效服务器管理,并提供了丰富的实践示例和学习资源,帮助读者全面掌握 Windows Server 2019 的使用与部署。

rum55的博客 55

windows2016安装证书管理器、IIS配置自签名证书、导出证书、证书.pfx转化为.crt和.key

之前写过一篇windows2008的安装方法,配置方法大同小异。这里再复习一遍。Windows Server 2016及更高版本的IIS内置了自己的证书管理器,不再需要安装和配置Active Directory证书服务,可以直接通过IIS Manager来管理服务器证书。使用IIS Manager可以方便地为IIS站点配置和安装SSL证书,也可以轻松地从各种证书颁发机构(CA)获取证书并将其绑定到IIS站点上。

暂时先用这个名字 8576

1、深入了解 Windows Server 2019:功能、配置与管理全解析

本文详细解析了 Windows Server 2019 的核心功能、配置方法和管理技术。内容涵盖 Windows Server 的基本目的、云环境支持、版本与许可模型、新特性、界面操作、用户创建、任务管理、安装与管理流程、Active Directory 配置、DNS 和 DHCP 服务、组策略管理、证书管理以及网络管理技术。同时,还介绍了 Windows Server 2019 在混合云和软件定义网络中的应用,为企业 IT 管理人员提供了全面的参考指南。

s1t2u3的博客 80

25、Windows Server 2019 共享资源配置全解析

本文深入解析了Windows Server 2019中共享资源的全面配置方法,涵盖共享文件夹权限与NTFS安全设置的对比、存储设备和打印机的共享操作,并详细介绍了AD FS实现单点登录和AD RMS进行文档权限管理的安装、配置及验证流程。同时提供了权限平衡、证书管理、服务账户安全等关键注意事项,以及常见问题解决方案,帮助系统管理员高效、安全地实现企业资源共享与访问控制。

sky77的博客 192

windows 证书管理

windows系统有两个证书管理工具certlm.msc和certmgr.msc,前者是本地计算机的证书管理工具,而后者是当前用户的证书管理工具。在导入证书时需要注意。如果证书仅是给当前用户使用那么就可以使用后者。并且在启动后者时不需要管理权限,而前者需要管理权限,否则就只能查看证书而不能导入证书。

smile的专栏 1万+

OpenSSL for Windows64安装与应用指南

OpenSSL是一个开源的加密库,它提供了广泛的加密算法、工具和协议的实现,用于安全通信和数据处理。自从1998年首次发布以来,OpenSSL已经发展成为一个成熟的、被广泛采用的解决方案,成为了网络安全领域的一个标准。

weixin_36235398的博客 919

openssl 生成证书 windows导入证书

openssl 生成证书 windows导入证书

编程之道在明明德在亲民在止于至善 2423

外壳扩展工具包(ShellKit) 珍藏自用版

外壳扩展工具包(ShellKit) 不作介绍,windows右键SHELL菜单,方便操作

单相变换器的二次纹波分析

1. 单相PWM整流器的二次纹波产生原因   单相变换器的二次纹波产生的原因是功率含有二次脉动分量。设电网电压 us=Vmsin(wt),电网电流IL=Imsin(wt−θ)I_L=I_msin(wt-\theta)IL​=Im​sin(wt−θ)。其中w是电网电压披绿,θ\thetaθ是电流之后电压相位。保证输入功率和输出功率相等,就要保证两者的直流量和交流量对应相等。   uDu_DuD​为 PWM 整流器直流电容电压平均值,IoI_oIo​ 为负载电流平均值 ,uDC^\widehat {u_{DC}

qq_38847810的博客 4973

终极指南:在Windows电脑上快速安装Android应用,告别臃肿模拟器!

你是否曾经想在Windows电脑上运行手机应用,却厌倦了安装庞大且缓慢的Android模拟器?APK Installer为你提供了一个革命性的解决方案——这是一个专为Windows设计的Android应用安装工具,让你在Windows 10/11系统上轻松安装和运行Android应用。通过利用Windows Subsystem for Android技术,APK Installer实现了移动应用与

gitblog_00799的博客 69

Unity2019编译器下使用Ump无错误,打包exe不播放 或 将exe文件在其他电脑下运行不播放

一、unity编译器下使用UMP可以播放视频,打包后查看debug 出现错误 UnloadTime: 1.070900 ms Fallback handler could not load library F:/PCTest/AccessControlSysteam/jfmx_Data/Mono/libdl Fallback handler could not load library F:/PCTest/AccessControlSysteam/jfmx_Data/Mono/libdl.dll Fa.

qq_42345116的博客 4700

如何在Windows上快速安装安卓应用:APK Installer完整指南

你是否想在Windows电脑上直接运行手机应用,却不想安装臃肿的Android模拟器?APK Installer为你提供了一个简单直接的解决方案,让你在Windows 10/11系统上轻松安装Android应用。这个开源工具基于Windows Subsystem for Android技术,实现了移动应用与桌面环境的无缝融合,彻底改变了跨平台应用安装的体验。 ## 🎯 APK Installe

gitblog_00474的博客 156

华为防火墙USG6600全流量日志配置指南:从流量监控到NAT日志的完整方案

本文详细介绍了华为USG6600防火墙全流量日志配置方案,涵盖流量监控、NAT日志及安全事件溯源等核心功能。通过精细化配置和性能优化技巧,帮助企业构建高效、合规的日志体系,提升网络安全运维效率。文章特别强调了日志采样与字段过滤的实用方法,适用于高流量环境下的资源优化。

gin88的博客 348

Arcgis 10.3 与 ArcGIS Engine 10.3 安装与破解

Arcgis 10.3 与 ArcGIS Engine 10.3 安装与破解

weixin_52127098的博客 4725

Windows电脑安装APK应用终极指南:告别模拟器,享受原生体验

想在Windows电脑上直接运行Android应用?厌倦了臃肿的模拟器?**APK Installer**为你提供了完美的解决方案。这个开源工具让你在Windows 10/11上轻松安装Android应用,无需复杂配置,无需虚拟机,真正实现跨平台应用的无缝体验。 ## 🎯 为什么你需要APK Installer? 你是否曾经因为以下问题而烦恼? - 想在大屏幕上玩手机游戏,但不想安装占用数G

gitblog_00798的博客 24

如何免费访问和使用Gemini API?

Gemini Ultra具有最先进的性能,在几个指标上超过了GPT-4的性能。它是第一个在大规模多任务语言理解基准测试中超越人类专家的模型,该基准测试57个不同学科的世界知识和解决问题的能力。Gemini是谷歌迄今为止开发的最先进、最庞大的AI模型。它为多模态而建,理解并处理不同类型的数据,比如文本、代码、音频、图像和视频。下面我们将加载Masood Aslami的图像,并用它来测试Gemini Pro Vision的多模态性。有了Gemini可以为查询提供图像、音频和文本,获得几乎完美的答案。

java_cjkl的博客 1万+

Win+R命令:提升Windows效率的5个黄金指令

Windows操作系统中的Win+R组合键是一个强大的系统级快捷指令入口,能够直接调用底层功能,避开图形界面的层级导航。其技术原理是通过命令行快速访问系统工具和程序,显著提升操作效率。在工程实践中,Win+R常用于快速启动应用程序(如calc启动计算器)、管理系统配置(如appwiz.cpl卸载程序)和故障排查(如chkdsk检查磁盘)。特别适合需要频繁切换任务的办公场景和系统维护场景,通过命令组合能实现批量化操作。掌握这些基础命令不仅能提升30%以上的操作速度,也是理解Windows系统架构的重要切入点。

weixin_34101229的博客 373

如何理解下一代ERP 即:华为MetaERP

如何理解下一代ERP 即:华为MetaERP 华为的 MetaERP核心定位: 华为MetaERP是华为公司自主研发的下一代企业核心商业管理系统。它不仅仅是一个传统的ERP(企业资源规划)系统,更是一个面向未来、基于云原生、AI驱动、安全可信的企业核心管理平台。

金牌架构师 1142

Wi-Fi数据帧类别

QoS

1042484520@qq.com(邮箱) 3156

3分钟快速上手:Windows平台最强大的curl命令行工具安装指南

还在为Windows平台缺少一个强大、可靠的命令行网络工具而烦恼吗?curl-for-win项目为您提供了完整的解决方案!这个开源项目专门为Windows用户打造了静态编译、可重现的curl二进制文件,让您轻松享受与Linux/macOS相同的网络工具体验。无论您是开发人员、系统管理员还是普通用户,都能通过这个项目快速获得功能完整的curl工具包,支持HTTP/3、HTTP/2等现代协议,让网络操

gitblog_00973的博客 321

垂直领域论坛数据挖掘:Python突破Discuz!加密与用户画像构建指南

在垂直领域论坛,如专业技术论坛、兴趣爱好社区等,积累了大量有价值的信息和用户数据。这些数据不仅可以帮助我们了解用户的行为模式和兴趣点,还能为社区运营、产品优化、商业决策等提供有力支持。然而,许多基于Discuz!系统的论坛对数据进行了加密保护,给数据挖掘带来了一定的挑战。本文将详细探讨如何使用Python突破Discuz!论坛的加密机制,并构建用户画像,实现数据掘金。

u014481728的博客 1694

OpenSSL:构建安全网络通信的基石

OpenSSL是一个开源软件库,提供多种密码算法、商用级的加密工具以及SSL/TLS协议的支持。它最初由Eric Young和Tim Hudson于1998年创建,现已成为广泛使用的安全套件之一。OpenSSL支持多种加密算法,包括但不限于RSA、AES、DES等,并且能够用于创建数字证书和密钥对,管理X.509证书,以及进行SSL/TLS连接测试。

技术分享 1047

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

iloader 安装指南:免费 iOS 侧载工具,从检查环境到跑通首次侧载

iloader 是一款免费开源的 iOS 侧载工具,基于 Tauri 框架开发,Windows、macOS、Linux 三个平台都能用。它把侧载里最麻烦的活儿打包成向导式操作:一键装 SideStore(能带 LiveContainer 一起装)、自动导入证书并放好 rppairing 和 lockdown 配对文件、导入任意 IPA,还能查看、吊销开发证书和 App ID。 这篇指南按"先查环

gitblog_00748的博客 801

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

一款免费的 SSL 工具 Certify The Web

Certify The Web 适用于 Windows的SSL 证书管理器用户界面,与所有 ACME v2 CA 兼容,为您的 IIS/Windows 服务器轻松地安装和自动更新来自 Letencrypt.org 和其他 ACME 证书授权机构的免费 SSL/TLS 证书,设置 https 从未如此简单。

菜鸟厚非 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: openssl对SSL证书及密钥操作说明
下一篇: Java SSL实现使用详解
adrninistrat0r
博客等级 码龄18年 395粉丝 136原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值