GaussDB(DWS)数据转换实战:字符串、二进制与十六进制的高效互转技巧

Screenshot_2026-11-03-16-23-09-34.jpg 立即下载

1. 为什么我们需要在GaussDB(DWS)里玩转进制转换?

大家好,我是老张,在数据仓库和数据库领域摸爬滚打了十几年。今天想和大家聊聊一个看似基础,但在实际工作中频繁遇到、且容易踩坑的话题:在GaussDB(DWS)里,如何高效、准确地在字符串、二进制和十六进制之间进行转换。

你可能觉得,这不就是几个函数调用吗?有什么好讲的?但根据我的经验,恰恰是这些“基础操作”,在现网中坑了不少小伙伴。比如,从外部系统接收了一段十六进制的设备日志,怎么把它还原成可读的字符串?或者,需要将某些敏感信息以二进制形式存储,查询时又如何转换回来?更常见的是,不同版本的GaussDB(DWS)(比如经典的820版本分水岭)提供的函数略有不同,如果没搞清楚,写的SQL就可能在新老环境上“水土不服”。

简单来说,掌握这些转换技巧,就像是掌握了数据世界的“翻译官”技能。字符串是人类可读的文本,二进制是计算机最底层的存储方式,而十六进制则是我们调试和查看二进制数据时最常用的“桥梁”。在数据清洗、日志解析、物联网数据处理、甚至是一些加密解密场景中,这三者之间的转换是家常便饭。搞定了它们,你处理数据的灵活性和效率会大大提升。

接下来的内容,我会抛开那些枯燥的官方文档式讲解,用我亲身踩过的坑和积累的实战经验,带你彻底玩转GaussDB(DWS)中的进制转换。我会从最核心的函数讲起,搭配大量即学即用的代码示例,并重点提醒你那些容易忽略的细节和版本差异。保证你读完就能上手,远离那些因编码或版本导致的“灵异”问题。

2. 核心转换函数全解析:你的工具箱里该有什么?

工欲善其事,必先利其器。在GaussDB(DWS)中实现进制转换,主要依赖几组核心函数。别担心,我会把它们掰开揉碎了讲清楚,让你不仅知道怎么用,更明白何时用、为何用。

2.1 字符串与二进制:数据存储的基石

字符串(text)和二进制(bytea)的互转是最根本的操作。你可以把bytea类型想象成一个可以存储任何原始字节序列的容器,而字符串则是带有明确编码(如UTF-8、GBK)的文本。

字符串转二进制: 这里的关键是理解,转换过程依赖于字符串的编码。GaussDB(DWS)提供了几种等价的写法,我最常用的是直接的类型转换(::操作符),因为它最简洁。

-- 方法一:使用 bytea() 函数
SELECT bytea('Hello GaussDB'::text);

-- 方法二:使用 :: 类型转换操作符 (我最推荐这个)
SELECT 'Hello GaussDB'::text::bytea;

-- 方法三:使用标准的 CAST 函数
SELECT CAST('Hello GaussDB'::text AS bytea);

无论用哪种方法,你都会得到类似 \x48656c6c6f2047617573734442 这样的输出。这个以 \x 开头的就是二进制(bytea)类型的标准十六进制表示形式。注意,这里存储的已经是“Hello GaussDB”这个字符串按照数据库编码(通常是UTF-8)转换后的字节序列了。

二进制转字符串: 这是逆过程,但多了一个至关重要的参数:源数据的编码。你必须告诉数据库,当初这些二进制字节是按照什么编码规则生成的。这就用到了 convert_from 函数。

-- 假设我们有一个二进制数据,它是由UTF-8编码的字符串转换而来
SELECT convert_from('\x48656c6c6f2047617573734442'::bytea, 'utf8');

执行后,你会得到熟悉的 Hello GaussDB。这里第二个参数 ‘utf8’ 就是关键。如

研发流程后端开发工具,提示功能开发效率 后端开发工具 立即下载

相关推荐

好的,技术转移行业资深专家为您撰写如下。.docx

好的,技术转移行业资深专家为您撰写如下。

政府科技管理者在推动科技成果转化时,如何高效解决技术成果与产业需求之间的匹配难题?.docx

政府科技管理者在推动科技成果转化时,如何高效解决技术成果与产业需求之间的匹配难题?

科技中介服务机构如何提升客户在技术评估与需求匹配环节的服务效率与专业度.docx

科技中介服务机构如何提升客户在技术评估与需求匹配环节的服务效率与专业度

机器人具有扰动抑制功能的有限时间基于方位角的领航者-跟随者编队控制(Matlab代码实现)

内容概要:本文档标题为《Plecs全桥LLC谐振变换器仿真模型.txt》,但实际内容并未涉及该主题的具体技术细节或仿真建模过程。相反,文档实质是一份由科研服务团队发布的跨学科资源目录,集中展示了大量基于Matlab、Simulink、Python、PSCAD等平台实现的科研项目与算法开发案例,涵盖电力系统、无人机路径规划、微电网优化、状态估计、信号处理、车间调度、图像处理、通信技术、雷达追踪、智能优化算法等多个工程技术领域。每个条目以“【】”标注研究主题,并注明“Matlab代码实现”“Python代码实现”等形式,表明其为可提供技术支持与代码资源的服务项目。文档末尾频繁出现“完整资源下载:公众号——荔枝科研社”及百度网盘链接,明确体现出其作为科研辅助服务推广与引流工具的功能属性。; 适合人群:面向电气工程、自动化、控制科学与工程、计算机科学、智能制造、新能源、航空航天、通信工程及相关交叉学科的研究生、高校教师、科研人员及企业研发工程师。; 使用场景及目标:①为科研人员提供课题选题、技术路线设计与算法实现的参考范例;②辅助学生或研究人员完成课程设计、毕业论文、项目仿真与算法复现任务;③作为第三方技术服务团队的能力展示目录,便于潜在客户快速了解其在多领域提供的定制化仿真与算法开发服务范围。; 阅读建议:此文档并非传统意义上的学术论文或技术教程,而是一份高度碎片化、广告性质浓厚的资源索引清单。读者应忽略其误导性的文件名,将其视为一个综合性科研技术服务目录,重点关注自身研究方向相关的条目,并通过文末提供的公众号或网盘链接进一步获取具体代码与资料。同时,需注意甄别资源的技术质量、原创性与适用性,避免盲目依赖外部服务。

科技中介服务机构如何打造高效、可复制的技术交易服务流程?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

高校技术转移办公室人员如何提升科研成果的市场推广与转化成功率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

基于LSTM神经网络的风电功率预测研究(Matlab代码实现)

内容概要:本文档名为《Plecs全桥LLC谐振变换器仿真模型.txt》,但其实际内容并未包含与Plecs或全桥LLC谐振变换器相关的具体仿真模型,而是汇集了大量来自优快云博客平台的技术文章标题和片段,内容涉及基于MATLAB的电力系统动态分析、风储VSG系统仿真、多无人机路径规划、最优潮流计算、卡尔曼滤波状态估计、车间调度算法、无线电力传输、抽水蓄能电站调度等多个领域。这些内容主要围绕Matlab/Simulink或Python代码实现展开,覆盖电力电子、电力系统、自动化控制、优化算法、信号处理、深度学习等方向,具有较强的科研仿真属性。然而,文档整体缺乏统一主题与逻辑结构,信息呈现高度碎片化,更像是多个独立技术资源的罗列而非系统性论述。; 适合人群:适用于从事电力系统、电力电子、自动化控制、智能制造、人工智能、信号处理及相关交叉学科的研究生、高校科研人员及企业研发工程师。; 使用场景及目标:①作为科研选题与技术调研的灵感来源,快速掌握当前热门研究方向与方法论;②获取多种仿真模型的设计思路与实现框架,辅助完成课程设计、学位论文或科研项目的建模仿真任务;③结合文中提及的算法(如PSO、NSGA-II、EKF、CNN、LSTM等)与工具(如Matlab/Simulink、PSCAD等),开展系统性学习与二次开发。; 阅读建议:此文档内容杂乱无章,不具备连贯阅读价值,建议仅将其作为索引线索,从中提取感兴趣的主题后,进一步查找原始完整文献或配套代码资源进行深入研究,避免陷入无效信息泛滥的困境。

产业园区运营负责人如何精准匹配企业与高校科研资源?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

LLC谐振变换器开环+闭环软启动仿真设计(Simulink仿真实现)

内容概要:本文系统介绍了LLC谐振变换器的开环与闭环软启动仿真设计方法,基于Simulink平台实现,涵盖半桥、全桥等多种拓扑结构的建模与仿真。重点阐述了软启动过程中的控制策略,包括变频控制、移相混合控制、恒压恒流双闭环控制等核心技术,深入分析了从开环启动平稳过渡到闭环控制的切换机制。文中提供了完整的仿真模型、设计报告、参数计算书及参考文献等配套资料,有助于读者全面掌握LLC谐振变换器的工作原理、动态响应特性及其在高频高效DC-DC变换场景中的应用,适用于电力电子系统的设计与优化研究。; 适合人群:具备电力电子与电力系统基础知识,从事电源设计、新能源变换器研发、电力电子器件应用或相关领域研究的研究生、工程师及科研人员。; 使用场景及目标:①掌握LLC谐振变换器软启动过程的控制机制与Simulink建模方法;②学习开环启动至闭环控制的平滑切换策略与实现方式;③开展高频高效DC-DC变换器的性能优化与动态响应分析;④支撑毕业设计、科研项目开发或高水平学术论文的复现与创新研究。; 阅读建议:建议结合所提供的Simulink仿真模型与参数计算文档同步操作,逐步调试关键参数,重点关注软启动过程中电压电流冲击的抑制效果,对比不同控制策略下的系统动态性能差异,深入理解谐振变换器的控制逻辑与稳定性设计要点。

双向全桥CLLC谐振变换器仿真模型(Simulink仿真实现)

内容概要:本文档详细介绍了一套基于Simulink的双向全桥CLLC谐振变换器仿真模型,涵盖变频控制、开环与闭环软启动、系统建模、参数设计及实际应用场景(如V2G电动汽车充放电系统)。文档系统梳理了包括LLC、DAB、PFC、Buck-Boost等在内的多种电力电子拓扑结构的建模与控制策略,并提供了完整的仿真模型、Mathcad计算书、设计报告及参考文献,构建了一个面向科研与工程实践的综合性技术资源库。重点聚焦于谐振变换器的闭环控制策略、软开关实现机制、谐振参数优化设计以及系统动态性能分析,尤其突出了在变频控制和混合调制策略下的系统稳定性与效率优化,具有较高的科研参考价值与工程实用意义。; 适合人群:具备电力电子、自动控制或电气工程等相关专业背景,正在从事新能源变换技术、电动汽车充电系统、储能能量管理或电力系统仿真的研究生、科研人员及一线工程技术人员。; 使用场景及目标:①开展双向CLLC谐振变换器的变频控制与软启动策略研究;②构建V2G系统中AC/DC与DC/DC级联变换器的联合仿真平台;③完成谐振参数设计、闭环控制器调试与系统效率优化;④作为学位论文、科研项目或产品预研阶段的技术支撑与仿真验证工具。; 阅读建议:建议结合文中提供的Mathcad计算书、Simulink仿真模型与参考文献进行系统性学习,重点关注控制环路设计、谐振腔参数匹配与仿真调试技巧,推荐按照资源目录顺序循序渐进地学习,充分利用配套资料提升建模效率与科研深度。

车辆控制基于H∞控制器与鲁棒线性二次调节器RLQR的铰接式重型车辆的稳健路径跟踪控制研究(Matlab代码实现)

内容概要:本文介绍了基于Plecs平台构建的全桥LLC谐振变换器仿真模型,重点围绕隔离型全桥LLC谐振变换器的建模、参数设计与仿真分析展开,涵盖系统主电路结构、谐振腔参数计算、软开关实现原理及闭环控制策略等内容。通过该仿真模型,能够深入研究LLC变换器在不同负载与输入条件下的效率特性、电压增益特性和动态响应性能,尤其适用于高频高效电源系统的开发与优化,为理论分析与工程实践提供有力支撑。; 适合人群:电力电子、电气工程及相关专业的高校师生、研究人员以及从事开关电源、高频电源设计的工程技术人员。; 使用场景及目标:①用于高校教学中演示LLC谐振变换器的工作原理与设计流程,提升学生对谐振拓扑的理解;②支持科研工作中对LLC变换器拓扑结构的性能验证、控制策略优化与效率提升研究;③辅助企业在高频电源产品研发中进行关键技术攻关与参数优化。; 阅读建议:建议结合经典电力电子教材与LLC变换器专项设计指南进行学习,仿真过程中应重点关注谐振频率匹配、ZVS/ZCS软开关实现条件、环流损耗与磁性元件设计,建议通过动手调整谐振参数与开关频率以深入掌握系统动态特性。

基于变频控制的多相交错LLC谐振变换器闭环仿真(Simulink仿真实现)

内容概要:本文档围绕《基于变频控制的多相交错LLC谐振变换器闭环仿真(Simulink仿真实现)》展开,系统介绍了多相交错LLC谐振变换器的建模、变频控制策略设计及闭环系统仿真验证全过程。内容涵盖主电路结构设计、谐振参数计算、软开关实现机制、多相交错技术降低电流纹波的原理,以及基于Simulink的闭环控制系统搭建,重点突出频率调制(PFM)在实现高效能量转换与输出电压稳定调节中的作用。文档配套提供完整的仿真模型、设计报告与计算书,便于读者复现与深入理解,适用于高效率、低电磁干扰的直流电源系统研发。; 适合人群:具备电力电子、自动控制或电气工程等相关专业背景,熟悉Simulink仿真环境,正在从事新能源、电动汽车、储能系统或高频开关电源方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入掌握多相交错LLC谐振变换器的工作原理与变频控制技术;②学习并实践闭环控制系统的建模与调试方法,提升系统动态响应与稳定性;③支撑科研课题、学位论文或工业项目中对高性能DC-DC变换器的设计需求。; 阅读建议:建议结合所提供的Simulink仿真文件与设计计算书同步学习,重点关注变频控制环路的设计逻辑与关键参数的匹配关系,通过调整仿真参数观察系统动态行为,深化对谐振变换器软开关特性与负载适应能力的理解,并可进一步对比研究CLLC、DAB等先进拓扑以拓展技术视野。

国央企创新负责人如何优化科技成果转化流程的合规性与透明度?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

VS2019中C++动态链接库(DLL)的创建与调用

VS2019中C++动态链接库(DLL)的创建与调用,及一些进阶技巧。

qq_42232522的博客 7563

超大规模AI集群跨数据中心互联:Scale-Across技术实现与部署实践

分布式系统通过将计算任务分散到多个节点协同执行,实现算力的横向扩展。其核心原理在于网络通信、数据同步和资源调度机制的技术协同。在AI基础设施领域,分布式架构能有效突破单数据中心算力瓶颈,支撑万亿参数大模型训练。特别是面对长距离传输时延和带宽稳定性挑战,需要采用RDMA、确定性网络等关键技术。Scale-Across作为分布式系统的高级形态,通过跨地域多数据中心互联,构建逻辑统一的AI算力池,为超大规模AI训练和全球推理服务提供核心支撑。本文聚焦AI集群跨数据中心互联的技术路径,涵盖全栈优化、网络自治等实践方

chouxuyi9789的博客 400

保姆级教程:从WOS下载文献到Citespace出图,手把手搞定科研可视化(附避坑指南)

本文提供从WOS下载文献到Citespace出图的完整科研可视化指南,涵盖数据采集、清洗、环境配置和可视化优化全流程。特别分享WOS检索技巧、数据清洗方法和Citespace参数设置,帮助科研新手高效生成专业图谱,避开常见技术陷阱。

weixin_29311017的博客 173

UBUNTU使用RTL8811CU网卡(包含树莓派)

下载驱动 从绿联中下载:链接 下载解压后,chmod Linux文件夹 sudo chmod -R 777 ./Linux/ 修改系统的BOOT Secure为disable,参考链接:链接 sudo apt install mokutil sudo mokutil --disable-validation 重启电脑后,按照提示选择change secure boot state,并输入对应的字母(并不是全部密码,而是第几个),选择disable即可 进入Linux文件夹,运行命令 ..

Hot_Ant的博客 6246

C++设计模式之观察者模式

观察者模式(Observer Pattern)是一种行为设计模式,它定义了对象之间的一对多依赖关系,当一个对象状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。这种模式通常用于实现分布式事件处理系统,当一个对象(称为“主题”或“发布者”)改变状态时,所有注册的观察者都会收到通知。

每天进步一点点。 600

【HEC】HECRAS中的降雨边界

网格降雨可能是城市地区建模的一个好选择。这是因为传统的一维(1D)建模并不能完全捕捉城市地区通常出现的复杂流动模式。使用网格降雨建模方法在构建包含多个未定义流动路径的模型时也非常有用。对于流量分支非常复杂的水道,设定边界条件可能会很困难。 HECRAS提供两种降雨边界添加的方法 - 在指定SA/2D FLOW AREA添加降雨边界 - 在hec-ras 6.0以上版本中 “气象数据” 的选项卡,可以添加具有空间变化的降水量、蒸散量和风。 两种方法只能选择一种,以下分别介绍

```On Earth, Be Water, By Coding``` 1399

华为OD机试 - 开源项目热度榜单(Java 2025 C卷 100分)

H = Wwatch X#watch + Wstar X#star +Wfork X#fork +Wissue X#issue +Wmr X#mr H表示热度值,Wwatch、Wstar、Wfork、Wissue、Wmr分别表示5个统计维度的权重,#watch、#star、#fork、#issue、#mr分别表示5个统计维度的统计值。

学Java,找哪吒 1756

YOLO26优化:AAAI2026 | 融合PartialNet Block的C3k2-YOLO高效目标检测网络 | 轻量化涨点设计

PartialNet Block 结合YOLO26的C3k2模块,进行二次创新。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 592

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

深度学习工具包 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")

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

上一篇: 物理信息机器学习(Physics-informed Machine Learning)在科学计算中的创新应用与实践
下一篇: 基于Redis发布订阅的Caffeine多级缓存一致性优化实践
sql99
博客等级 码龄19年 168粉丝 1905原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值