[答疑精选]取用水监测,可以是自动监测(安装RTU),可以是人工抄表

Android:Google三方库之Adjust集成详细步骤 Android为APP添加google adjust功能 阅读详情
取用水监测,可以是自动监测(安装RTU),可以是人工抄表
lihongwei(627***407) 22:11:26 

图片 
lihongwei(627***407) 22:12:08 
文字是要表达的意思,这样画对吗
潘加宇(3504847) 22:13:27 
每次取水事件要记住是哪家水测站"监测"它吗?
潘加宇(3504847) 22:14:31 
不同的取水事件,取用水测站有可能不同,每次取水要记住这次事件是哪家监测的,对吗?

lihongwei(627***407) 22:17:17 
取用水监测,可以是自动监测(安装RTU),可以是人工抄表。但是都认为是取水户设置了一个监测站,监测它从某个取水口的取水量。
lihongwei(627***407) 22:17:58 
安装RTU后,能自动传输监测数据。
潘加宇(3504847) 22:18:11 
没有回答我的问题?

lihongwei(627***407) 22:19:07 
不同的取水事件,取用水测站相同
lihongwei(627***407) 22:19:40 
但是RTU可能更换,抄表人可能不同
乐天(92***82) 22:20:01 
取水要不要记录监测站?
潘加宇(3504847) 22:21:22 
你要做的是什么系统

lihongwei(627***407) 22:21:38 
取用水测站有固定的编码,所以设置了取用水测站后,不同的取水事件,取用水测站是相同的。
要记录测站
lihongwei(627***407) 22:22:23 
水资源管理中的取水监测
潘加宇(3504847) 22:22:55 
把监测站关联到取水户

乐天(92***82) 22:23:33 
监测站监测取水口还是取水户?
潘加宇(3504847) 22:24:05 
一个班有五十个学生,班主任是同一个老师,老师是"班"的主任,不是"学生的班的主任"
复习课上讲的审查属性"什么的什么"

lihongwei(627***407) 22:24:09 
一般运行方式是,RTU每小时上报一次水量;每个月人工抄表一次。
乐天(92***82) 22:26:24 
监测站是监测取水口的出水,还是监测取水户的用水?
潘加宇(3504847) 22:26:43 
乐天(92***82) 问的也是

lihongwei(627***407) 22:27:42 
监测"取水户的取水量"
lihongwei(627***407) 22:28:30 
同意取水口,可能多个取水户
lihongwei(627***407) 22:28:39 
同一
乐天(92***82) 22:29:04 
那就关联到户
乐天(92***82) 22:29:22 
有没有一个取水户,从多个取水口取水
lihongwei(627***407) 22:30:11 
有
乐天(92***82) 22:31:59 
那就复杂了,你这个监测站是不是一个计量点?
乐天(92***82) 22:33:33 
多个取水口是不是也是一个监测站?
lihongwei(627***407) 22:34:21 
不是,每个取水户与取水口之间的关系,都要单独监测取水量
lihongwei(627***407) 22:35:34 
图片
lihongwei(627***407) 22:35:47 
这样也表达不出这个含义
潘加宇(3504847) 22:38:26 
取水和取水口的关联怎么挪走了

lihongwei(627***407) 22:41:15 
不理解该怎么画
乐天(92***82) 22:41:36 
肯定不行。有办法。我问你,会不会多个用户用一个监测站记录取水?
潘加宇(3504847) 22:41:49 
把监测站关联到取水户
潘加宇(3504847) 22:42:00 
如实画就可以

lihongwei(627***407) 22:43:54 
每个用户都是单独监测的
lihongwei(627***407) 22:44:26 
图片lihongwei(627***407) 22:44:31 
潘老师,这样吗
潘加宇(3504847) 22:45:11 
取水和水测站的关联应该砍掉吧
潘加宇(3504847) 22:45:56 
关联名不要写"有",写"指定监测"或"负责监测"之类
潘加宇(3504847) 22:46:50 
取水户关联多个监测站?

lihongwei(627***407) 22:47:07 
砍掉后,无法表达这个含义:
取水户与取水口是多对多关系,每个取水户从相关的每一个取水口的取水量要单独计量。
潘加宇(3504847) 22:47:48 
不是已经通过取水事件关联起来了吗

lihongwei(627***407) 22:48:19 
对,每一对(取水户---取水口)都要设置一个测站单独监测
潘加宇(3504847) 22:49:03 
"但是都认为是取水户设置了一个监测站"

lihongwei(627***407) 22:49:30 
我一开始意思没有表达完整
lihongwei(627***407) 22:50:47 
怎么画,才能表达这个意思?
潘加宇(3504847) 22:51:02 
"每一对(取水户---取水口)都要设置一个测站单独监测"--有100家取水户,100个取水口,就有10000个监测站?

lihongwei(627***407) 22:51:47 
不一定是,但这是一种可能
lihongwei(627***407) 22:52:25 
也许是一对一,只需100个测站
潘加宇(3504847) 22:52:35 
可能背后的领域内涵没找到
潘加宇(3504847) 22:54:31 
还有,你的系统是监测系统,上面的类只是事件发生后的记录,这些类不知道能不能回答"你的系统凭什么能检测用水,它懂得了什么知识?"

lihongwei(627***407) 22:57:23 
实际情况是这样,多数情况下,取水户一般只从一个取水口取水,但是也存在从多个取水口取水的情况。如果从多个取水口取水,则要分别设置测站。另外,也存在多个用水从同一取水口取水的情况,也要单独监测。
lihongwei(627***407) 22:58:50 
"知识"还没有分析清楚,大概是这样:
图片 
lihongwei(627***407) 23:00:22 
说明:上图中的多个"监测点"和"传感器",是因为地下水还监测水位,有的还监测水质
乐天(92***82) 23:01:00 
@潘加宇 老师, 他说的情况是存在的, 实际上很简单。用户跟取水没有关系。跟取水事件有关系的就是取用水监测站。也许从常识上不同。但是 你系统或者你说的事情要解决的 记录取水事件。 那么取水监测站是取水户的计量点。
乐天(92***82) 23:01:54 
你后面说的更复杂了,跟上面的内容没啥关系
lihongwei(627***407) 23:03:19 
嗯,是这样的
乐天(92***82) 23:04:56 
那就把用户和取水事件的关联去掉,实际上不是用户取水。是监测点记录取水量。然后一个用水户有多个监测点
潘加宇(3504847) 23:05:20 
就是这样
潘加宇(3504847) 23:05:54 
取水-取水口-监测站-取水户
潘加宇(3504847) 23:07:20 
看你后面补的图,也和站没关系啊,和RTU有关系
潘加宇(3504847) 23:08:59 
监测不同取水户的RTU(传感器)不同?

lihongwei(627***407) 23:09:42 
对,不同
lihongwei(627***407) 23:09:56 
要单独安装
lihongwei(627***407) 23:11:14 
图片
lihongwei(627***407) 23:11:20 
改成这样吗
潘加宇(3504847) 23:12:56 
取水口连到水测站,不连取水
潘加宇(3504847) 23:13:19 
说错
潘加宇(3504847) 23:13:32 
取水口连到水测站,把水测站和取水之间的关联去掉
潘加宇(3504847) 23:17:34 

图片
lihongwei(627***407) 23:17:49 
图片
潘加宇(3504847) 23:18:07 
差不多
潘加宇(3504847) 23:18:34 
如果先对游戏规则建模,这个弯路就走得少一点
潘加宇(3504847) 23:19:48 
取不取水,取多少次水,规则区没有变化
潘加宇(3504847) 23:23:34 
取水的"瞬时流量"是什么意思

lihongwei(627***407) 23:24:41 
嗯。这样能表达上面所说的意思了吗?
"瞬时流量"是上报时刻,流量计的流量值
潘加宇(3504847) 23:24:56 
还是我上面说的问题,上面的类只是事件发生后的记录,你的系统凭什么总用水量,流量之类,因为它懂得了什么知识?

lihongwei(627***407) 23:24:58 
一般只关注累计水量
潘加宇(3504847) 23:26:46 
就像买东西,订单有总的金额,但这个是最后的结果,系统可能要懂得:购买商品的数量,商品的价格区间,顾客的等级,不同等级的打折规则,运费的计算规则。。。
潘加宇(3504847) 23:27:37 
通过这些类的协作,才能算出订单的总价钱
潘加宇(3504847) 23:28:37 
"瞬时流量"是上报时刻,流量计的流量值--是"取水口"的"瞬时流量"
潘加宇(3504847) 23:28:39 
?

lihongwei(627***407) 23:29:03 
统计取水量由流量计完成,这里就是累计,没额外的规则。计费时,会针对不用取水户有规则。
乐天(92***82) 23:30:29 
我理解,监测站有一个示数(起始示数),开始是一个示数,终止有一个示数(止示数)。 (止示数) - (起始示数) = 本次流量 
lihongwei(627***407) 23:30:33 
假设两个取水户从同一个取水口取水,则要设置两个测站(每个取水户一个),响应的两个流量计。
lihongwei(627***407) 23:30:57 
乐天:对
乐天(92***82) 23:31:20 
还没说完,我都困了 
潘加宇(3504847) 23:34:18 
就这样,估计差不多
潘加宇(3504847) 23:34:27 
你的系统复杂在哪里

lihongwei(627***407) 23:34:39 
测站要单独监测发生在一对(取水户,取水口)之间的"取水",能表达吗,还是有点疑惑
潘加宇(3504847) 23:35:58 
糟糕,不能
潘加宇(3504847) 23:36:36 
把取水关联回水测站

lihongwei(627***407) 23:36:41 
对象多,监测要素多
潘加宇(3504847) 23:37:20 
取水口和取水之间的关联去掉
潘加宇(3504847) 23:37:45 
"对象多,监测要素多"图上没有表达出来?
潘加宇(3504847) 23:38:49 

图片
lihongwei(627***407) 23:39:13 
我简化了,把我感到疑惑的地方单独提出来
潘加宇(3504847) 23:40:03 
水测站是个虚词,可以改为流量计
潘加宇(3504847) 23:40:40 
系统关心的是哪个流量计,管他有"站"没"站"

lihongwei(627***407) 23:42:00 
恩
lihongwei(627***407) 23:42:29 
客户请了很多专家,他们习惯这样
lihongwei(627***407) 23:42:46 
图片
潘加宇(3504847) 23:42:57 
设计要抽象
潘加宇(3504847) 23:43:22 
要表达内涵,不需要涉众的理解。需求才要具体

lihongwei(627***407) 23:44:09 
他们设计出来了数据库,作为标准,让大家遵守
潘加宇(3504847) 23:44:40 
图片
lihongwei(627***407) 23:44:43 
我们在分析时,不得不参考和兼顾他们的书籍
lihongwei(627***407) 23:44:49 
设计
潘加宇(3504847) 23:45:42 
即使给定了存储结构,也不影响我们自己的模型啊

lihongwei(627***407) 23:45:59 
恩,是这个道理
lihongwei(627***407) 23:46:53 
我们以前也没建模,大家也不会建,现在尝试着做
潘加宇(3504847) 23:47:08 
就算数据用线性的文件保存,也按照我们的模型做,存储的时候再按照映射规则映射过去。
潘加宇(3504847) 23:47:36 

图片
lihongwei(627***407) 23:47:37 
恩
lihongwei(627***407) 23:49:13 
货物流动 就是抽象,对吧?
lihongwei(627***407) 23:50:20 
我觉得抽象的能力,也是要在具体的"事"上练
lihongwei(627***407) 23:51:20 
有时候,抽象还可以从不同的角度进行
lihongwei(627***407) 11:13:36 
图片
lihongwei(627***407) 11:16:28 
上次那个图没有考虑有的取水户并没有实施监测这一实际情况。另外,我理解取水户与取水口之间的关系是更本质的关系,不管监测与否都是存在的。
lihongwei(627***407) 11:18:11 
因此,因该显式建立取水户与取水口之间的关联关系。
lihongwei(627***407) 11:20:36 
但是,这样一来,在取水户、取水口、取用水测站之间形成了"三角"关系,这种关系是否合适呢?
潘加宇(3504847) 14:40:49 
取水户与取水口之间的多对多关系未必是本质的关系,是通过取水或监测事件带来的。
我下面画的模型应该可以,加一个约束,OCL可能写的语法
潘加宇(3504847) 14:41:16 
不精确
潘加宇(3504847) 14:42:33 

图片lihongwei(627***407) 14:46:50 
不太明白
潘加宇(3504847) 14:49:41 
每个取水对象都要满足这个约束:
它发生在的【取水口】 必须在 它的【取水户】分配到的【取水口】集合 中

lihongwei(627***407) 14:51:00 
嗯
lihongwei(627***407) 14:58:31 
图片
lihongwei(627***407) 14:59:21 
潘老师,我现在这样画,感觉可以表达测站对取水的监测关系了
潘加宇(3504847) 15:01:09 
出来一个 监测点 ?

lihongwei(627***407) 15:01:14 
对排水的监测,画的时候,使用关联类,这样感觉更简洁的表达
lihongwei(627***407) 15:02:18 
就是把测站作为关联类。
lihongwei(627***407) 15:02:36 
取用水测站应该也可以这样处理
lihongwei(627***407) 15:03:43 
监测点和传感器是一对一的概念,因为传感器会坏掉,要更换,而且有可能多个传感器
潘加宇(3504847) 15:04:31 
1对1可以合并,保留传感器

lihongwei(627***407) 15:04:34 
传感器作为监测点的角色
潘加宇(3504847) 15:04:50 
而且有可能多个传感器
--那就不是1对1?

lihongwei(627***407) 15:05:23 
取用水测站与取用水测点是1对1
lihongwei(627***407) 15:05:30 
错了
lihongwei(627***407) 15:05:55 
取用水测站与取用水测点是1对多;取用水测点与传感器是1对1
潘加宇(3504847) 15:07:13 
取用水测点与传感器是1对1
--合并为监测点(或传感器)即可,但监测点(或者叫监测设备)更本质,因为传感器是一种实现,很容易变

潘加宇(3504847) 15:08:13 
传感器 是 一种 监测设备

lihongwei(627***407) 15:08:53 
对,下面图中,测点和测站都是"虚"的概念
图片
lihongwei(627***407) 15:09:23 
RTU和传感器是实实在在的"设备"
潘加宇(3504847) 15:09:46 
1,1或1,0..1的情况要警惕,一个【人】可能是0个【男人】,也可能是1个【男人】,好像是1对0..1的关联,其实是泛化

lihongwei(627***407) 15:10:56 
没明白
潘加宇(3504847) 15:11:55 
把两个1对1的合并成一个就可以
潘加宇(3504847) 15:12:03 
分开也可以
潘加宇(3504847) 15:12:30 
就是多了一个类

lihongwei(627***407) 15:14:42 
哦,就是取用水监测点、测站其实是可以不要的?
潘加宇(3504847) 15:17:11 
多个监测设备 是属于同一个取水户的吗
潘加宇(3504847) 15:17:28 
同一个"站"的多个监测设备 是属于同一个取水户的吗
lihongwei(627***407) 15:17:50 
是的
潘加宇(3504847) 17:06:23 
可以把监测点、监测站去掉,留下传感器(或抽象一点,监测设备)和取水事件、取水户关联。
监测站 安装在 取水口 这个信息意义不大,就算物理距离十八万千里,只要我负责监测你的取水就行,管我装在哪里

带你一分钟了解电感与磁珠的区别 在电路设计中会经常使用到电感和磁珠,虽然在电路中的作用有所不同,但它们都属于磁性电子元器件,本文简单介绍下电感和磁珠的区别电感和磁珠电感和磁珠的结构主要由磁性材料金属线圈和外壳组成,具体结构如下图所示:电感磁珠结构图电感其实是金属线圈缠绕在磁芯上,而磁珠是在内部折叠后外围包裹着铁氧体磁性材料。电感器(Inductor)又称扼流器、电抗器、动态电抗器是储能器件,能够把电能转化为磁能而存储起来的元件。磁珠则是能量转换(消耗)器件,将流过他的高频信号以热能的形式消耗掉。 阅读详情

相关推荐

Win11注册表没有MMC的解决方法

本文详细介绍了在Win11系统中解决注册表没有MMC项的问题的方法。通过创建并导入注册表修复文件,我们可以成功地在注册表中添加缺失的MMC项。在操作过程中,需要注意备份注册表、以管理员身份运行工具以及系统更新等事项。希望本文能够帮助到遇到类似问题的用户,提高系统管理的效率和便捷性。如果你还有其他关于Windows操作系统的问题或疑问,欢迎随时提问并寻求帮助。

nntxthml的博客 1553

取用水监测计量标准化建设,加强流量在线监测

取水监测计量系统主要针对取用地表水和地下水水源的“规模以上取水户”而开展,覆盖非农业取水口(工业、生活、服务)和规模以上大中型灌区渠首取水口。本系统对用水户取水量进行在线监测,并将取水信息、用水户信息按省级平台要求的上报格式及频率要求,及时、准确地上传至省级水资源监管平台,管理部门可实时掌握取水、用水动态,同时也为水资源税征收提供了有力的数据支撑。

TSllzdh_2022的博客 1001

HC32 CAN通信

qqa

zhaopenglihui的博客 5436

《软件方法》第8章 分析 之 分析类图——知识篇Part1(20211029更新)

墙上挂了根长藤,长藤上面挂铜铃《长藤挂铜铃》;词:元庸,曲:梅翁(姚敏),唱:逸敏,1959您在阅读《软件方法》时如果发现错误,欢迎通过微信umlchina2告知。如果作者认为有道理,决定在下一次发布时根据您的意见修改,每个错误将付给您5.12元报酬,并在书中说明您的贡献。报酬通过微信支付。(1)任何您认为的错误都可以,包括错别字。(2)同一错误仅支付最先指正者报酬。 (3)请根据最新版本作指正。下册内容目前指正人有(按指正时间排序):吴佰钊、王周文、刘学斌、成文华、黄树成、李蜀斌、杨雪鸿、王书伟

rolt的专栏 4006

IBM Storwize V3700存储维护实战:硬盘更换、电源模块热插拔与带外管理IP配置

在企业IT基础设施中,存储阵列是数据持久化的核心组件,其稳定运行直接关系到业务连续性。存储阵列通常采用RAID技术实现数据冗余,并通过热插拔、冗余电源等设计保障高可用性。带外管理则提供了独立于业务网络的硬件级监控与管理通道,是运维的关键手段。本次实战以一台IBM Storwize V3700存储阵列为例,详细记录了在业务低峰期,依据严谨的操作流程,对出现SMART预警的硬盘进行在线更换,并对有异响的冗余电源模块实施热插拔更换。针对管理界面强制要求设置VIP才能配置带外管理地址的限制,文章提供了通过SSH命令

weixin_29172963的博客 303

IT世界里的“国境线”(芯片与算法篇)

首先分析下概念,对于芯片,相信大家已经比较了解,就不做过多的解释。我们说一下算法,虽然算法是应用在IT领域,但我相信学数学的同学,特别是学习计算数学的,对算法应该更加熟悉。记得在本科课程中,专门有一门课叫做“算法设计”。从概念上来讲,算法指的是解决问题的方法和流程,是一段逻辑,一系列解决问题的清晰指令。或者更通俗一点来讲,算法是从A到B,所有可能的计算方式。 一、 芯片与算法的关系 芯片和算法并不是独立或者对立的两个个体。芯片本身就集成了算法。算法是一种逻辑概念,芯片是算法的一种表现形式,软件也是算法的

weixin_49664622的博客 7020

软件方法(下)分析和设计第8章分析 之 分析类图——知识篇(20211227更新)

可到此处下载本文档最新版本: http://www.umlchina.com/book/softmeth08part1.pdf 您在阅读《软件方法》时如果发现错误,欢迎通过微信umlchina2告知。如果作者认为有道理,决定在下一次发布时根据您的意见修改,每个错误将付给您5.12元报酬,并在书中说明您的贡献。报酬通过微信支付。 (1)任何您认为的错误都可以,包括错别字。 (2)同一错误仅支付最先指正者

rolt的专栏 3900

LTO编译器优化介绍以及开启方法

LTO优化的详细介绍

性感的小君君 4924

《软件方法》第9章 分析之分析类图—案例篇Part1(20211114更新)

《软件方法》第8章 分析 之 分析类图——知识篇Part1(20211029更新)>> 鸳鸯扣,宜结不宜解 《身似摇红烛影》,词:唐涤生,曲:王粤生,唱:红线女,1954 9.1 本书案例介绍 9.1.1 案例更换 《软件方法(上)》以及下册2018年发布的电子版本,使用的案例是“UMLChina系统2018”。案例中讨论了给特定分区的联系人发公开课通知邮件的领域逻辑,类图如图9-1。 图9-1 本书下册2018版本第8章的案例类图 时过境迁,原先使用邮件、短信甚至QQ的场合绝

rolt的专栏 3574

fast-lio系列改进版本

2.回环检测的优化结果,更新到FAST-LIO2的当前帧位姿中,幷进行ikdtree的重构,进而更新submap。其它的效果还不清楚,实测lio部分稳定性很好。用fast-lio_slam就很稳定。融合了fast-lio2和sc-pgo,两部分分开运行,SC-PGO从FAST-LIO2节点获取里程计和激光雷达点云主题。的作者kim在FAST-LIO2的基础上,添加SC-PGO模块,通过加入ScanContext全局描述子,进行回环修正,SC-PGO模块与FAST-LIO2解耦,非常方便,很优秀的工作。

z1872385的博客 3189

【异常】came as a complete surprise to me,IllegalArgumentException: The template string is not valid.

是Spring AI中用于生成提示词(prompt)的一个类。提示词对于与大语言模型交互至关重要,因为它们指导模型生成特定类型的响应。允许开发者创建包含占位符的模板字符串,并通过提供具体的值来填充这些占位符,从而动态地生成个性化的提示词。

奶爸的编程之路,也就一周冷个三天 748

UMLChina建模竞赛题大全-题目全文+分卷自测(10套100题)

以下是UMLChina出过的建模竞赛题,答案不直接给出,可访问每套题后面的自测链接或扫二维码自测,做到全对才能知道答案。 知识点见《软件方法》(http://www.umlchina.com/book/softmeth.html) 和“软件需求设计方法学全程实例剖析”幻灯片(http://www.umlchina.com/training/slide.html) UMLChina建模竞赛题自测(1) 1 [ 多选题 ] 在建模中,关于组织和系统的关系,以下陈述成立的是: A) 组织可以作为系统的

rolt的专栏 2502

【智能座舱】- 智能座舱研究报告合集

智能座舱研究报告合集

零点壹客的博客 1305

《Head First设计模式》第二版中译本的译稿(摘)

预计由中国电力出版社2021年8月出版,UMLChina 译。 第二版的内容结合了最近几年的一些新技术,特摘出几个页面(请忽略排版上的缺陷,排版编辑会在Adobe InDesign上把它弄好的): 之前发的新闻: 技术书籍也香艳-时隔12年《Head First设计模式》第二版要来了 ********************** [2020.01加一套题]UMLChina建模竞赛题大全-题目全文+分卷自测(11套110题) [新增EA023粮食拍卖系统]全程字幕-23套UML..

rolt的专栏 2254

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

DDD浮夸,Eric Evans开了个坏头

Eric Evans所说的“几乎没人写点什么”是错误的。把前面20年描述成荒漠,为“领域驱动设计”营造横空出世的感觉,这是一种夸大。

rolt的专栏 2214

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

软件方法(下)分析和设计第9章分析 之 分析类图——案例篇(20211228更新)

希望通过对工具的研发来反哺《软件方法》

rolt的专栏 1726

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

[答疑]六边形架构算伪创新吗

“伪创新”应该没有足够证据,而且Cockburn比较低调。

rolt的专栏 1676

[答疑]UML用什么表示六边形架构

既然是协作,应该用行为图(序列图、通信图等)表示更合适。

rolt的专栏 1591

[更新幻灯]1剔除“伪创新”和“无领域”的领域驱动设计

如果有人不了解人体的内部结构,就自称医生,声称自己能给人开腹割掉发炎的阑尾,甚至还能开胸给冠心病人做心脏搭桥,你信吗?如果我自己或者家人是病人,我肯定不会让这样的医生动手术,因为没准一刀进去就切动脉上了。但是……假设医生治死人不用负责任,可能就会有医生乐意这样干,在不了解人体结构(懒得去学!)的情况下肆意给病人动手术,怎么爽怎么来。同理——有的人连如何清晰描述和整理领域逻辑都没有掌握,却能在书籍、文章和课程里侃侃而谈上下文、拆分、微服务……,你信吗?别说,还真有人乐意相信。道理是这样的:张三:我需要一个方法

rolt的专栏 1371

[2020.01加一套题]UMLChina建模竞赛题大全-题目全文+分卷自测(11套110题)

以下是UMLChina出过的建模竞赛题,答案不直接给出,可访问每套题后面的自测链接或扫二维码自测,做到全对才能知道答案。 知识点见《软件方法》(http://www.umlchina.com/book/softmeth.html) 和“软件需求设计方法学全程实例剖析”幻灯片(http://www.umlchina.com/training/slide.html) UMLChina建模竞赛题自测(1) 1 [ 多选题 ] 在建模中,关于组织和系统的关系,以下陈述成立的是: A) 组织可以作为系统的

rolt的专栏 1342

Eric Evans-领域驱动设计交流答疑-UMLChina讲座-记录

时间 北京时间2010年7月26日(周一)上午9:00-10:30 演讲人 Eric Evans (http://domaindrivendesign.org)。“领域驱动设计”概念的提出者。这次讲座,他将带来这几年他对于领域驱动设计的新理解。 声音记录 本次讲座无语音,纯文字交流 幻灯片 本次讲座无语音,纯文字交流 聊天记录 (09:01:05)tanglg与所有人说:几点开始啊? (09:01:31)beautyshop2010与*umlchina_seminar说:不知道,

rolt的专栏 1209

自反关联和自连接的区别

RuYi 2020-5-2 15:23 我看您书里面讲了自反关联,是不是对应于数据库的自连接? UMLChina潘加宇 本来不应该回答这个不该成为问题的问题。因为你这样问表明不只是不了解自反关联,可能也对自连接有误解,应该再去学习和复习基本知识才对。不过,这个问题背后也反映了一些其他人也会有的概念混乱,顺便展开说一下。 先回答你的问题:自反关联(self-association)指一个类的不同实例之间存在静态关系,例如你给的图中,不同人员实例之间会有夫妻关系。映射到关系数据库可能会得到一张.

rolt的专栏 1064

高焕堂-Use Case分析与手机画面布局之规划-UMLChina讲座-音频和幻灯

时间 北京时间2008年4月14日(周一)晚上19:00-20:30 演讲人 高焕堂。台湾软件架构设计专家。主修于美国Colorado州大学信息科学研究所、台湾淡江大学管理科学研究所。专精于系统整合的架构设计领域,包括领域框架、嵌入式MDA、及企业应用架构设计等,出版了20多本相关著作。 声音记录 网盘下载(118M):http://pan.baidu.com/share/link?shareid=71448&uk=1795750932 幻灯片 Use Case

rolt的专栏 1062

[图解]分析模型和代码对应05-匹配会议室(EA-004)

看看序列图和代码的对应关系

rolt的专栏 1030

软件工程大一到大三考证顺序怎么排?

软件工程专业的考证规划,最容易出现的偏差,是按“哪张证书容易拿”安排顺序,而不是按“下一阶段需要什么能力”作出选择。大一忙着搜集证书,大二开始刷题,大三准备实习时,却拿不出能够运行、部署和解释的项目,这样的投入很难形成优势。证书负责梳理知识,课程负责建立基础,项目负责展示能力,三者应当相互支撑。结合2026年的在校学习场景,以及面向2027年的实习准备,本文筛选六类适合软件工程本科生考虑的证书。它们是一份选择清单,不是一张必须全部完成的任务表。

2501_93367079的博客 199

c++编程实践—AI对软件工程的影响

本文探讨资本主义未在中国兴起的原因,指出人口过剩抑制了技术革新动力,类比当前AI对软件工程的冲击:虽提升效率,却可能导致开发者脱离一线、设计思想停滞,形成“螺旋式衰退”。AI依赖数据与算力,难以突破底层创新瓶颈,尤其在嵌入式等细节领域表现不佳。若过度依赖AI,将如忽视农业技术般自毁根基。因此,应理性拥抱AI,做到积极使用、正向引导与合理限制,避免重蹈历史覆辙。

fpcc的专栏 219
上一篇: DDD话语评价之二:“值对象”是DDD的创新吗(全文)
下一篇: 《软件方法》第8章 分析 之 分析类图——知识篇Part1(20211029更新)
rolt
博客等级 码龄26年 8025粉丝 2006原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值