dim

VB 变量的声明及作用域

♀尐吖头ヾ 提交于 2019-12-11 08:16:23
一、变量的声明 一般来说,变量必须先声明后使用。即告诉编译器在程序中使用了哪些变量,及为变量开辟多大的内存空间。 声明变量有两种方式:隐式声明、显式声明。 1隐式声明:vb的变量可以不经声明直接使用(但不易检查错误,不建议使用) 2显式声明:用声明语句创建变量。格式为:declare 变量名 as 类型 强制显式声明变量: 为了避免写错变量名引起的麻烦,可在类模块、窗体模块或标准模块的声明段中加入语句Option Explicit,VB将自动检查程序中是否有未定义的变量,若有将显示错误信息。 声明语句有以下四种格式: 1、Dim<变量名>[As<数据类型>] 用于在标准模块(Module)、窗体模块(Form)或过程(Procedure)中定义变量或数组。 用Dim语句在窗体的过程中声明的变量称为局部变量,其作用域仅局限在本过程内部,过程一旦执行完毕,其值也就消失了。 2、Private<变量名>[As<数据类型>] 用于声明模块变量。 如果要在一个窗体模块的所有过程中共享同一个变量,则应在这个窗体模块的声明段用Private语句进行声明。这种变量称为模块级变量,其作用域为整个窗体模块。 3、Public<变量名>[As<数据类型> ] 用于在标准模块中定义全局变量或数组。 如果在标准模块的声明段中用Public关键字来声明模块级变量,那么这个变量的作用域是整个工程

Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation(知识图谱)

╄→尐↘猪︶ㄣ 提交于 2019-12-10 21:35:31
知识图谱(Knowledge Graph,KG)可以理解成一个知识库,用来存储实体与实体之间的关系。知识图谱可以为机器学习算法提供更多的信息,帮助模型更好地完成任务。 在推荐算法中融入电影的知识图谱,能够将没有任何历史数据的新电影精准地推荐给目标用户。 实例描述 现有一个电影评分数据集和一个电影相关的知识图谱。电影评分数据集里包含用户、电影及评分;电影相关的知识图谱中包含电影的类型、导演等属性。 要求:从知识图谱中找出电影间的潜在特征,并借助该特征及电影评分数据集,实现基于电影的推荐系统。 本实例使用了一个多任务学习的端到端框架MKR。该框架能够将两个不同任务的低层特征抽取出来,并融合在一起实现联合训练,从而达到最优的结果。有关MKR的更多介绍可以参考以下链接: https://arxiv.org/pdf/1901.08907.pdf 一、准备数据集 在1901.08907.pdf的相关代码链接中有3个数据集:图书数据集、电影数据集和音乐数据集。本例使用电影数据集,具体链接如下: https://github.com/hwwang55/MKR/tree/master/data/movie 该数据集中一共有3个文件。 item_index2entity_id.txt:电影的ID与序号。具体内容如图1所示,第1列是电影ID,第2列是序号。 kg.txt:电影的知识图谱

基于pytorch计算IoU

故事扮演 提交于 2019-12-10 02:46:51
IoU 是目标检测里面的一个基本的环节,这里看到别人的代码,感觉还是挺高效的,就记录一下: torch.Tensor.expand torch.Tensor.expand(*sizes) → Tensor 这是一个pytorch的函数,sizes是你想要扩展后的shape,其中原来tensor大小为1的维度可以扩展成任意值,并且这个操作不会分配新的内存。 栗子: >> > x = torch . tensor ( [ [ 1 ] , [ 2 ] , [ 3 ] ] ) >> > x . size ( ) torch . Size ( [ 3 , 1 ] ) >> > x . expand ( 3 , 4 ) tensor ( [ [ 1 , 1 , 1 , 1 ] , [ 2 , 2 , 2 , 2 ] , [ 3 , 3 , 3 , 3 ] ] ) >> > x . expand ( - 1 , 4 ) # -1 means not changing the size of that dimension tensor ( [ [ 1 , 1 , 1 , 1 ] , [ 2 , 2 , 2 , 2 ] , [ 3 , 3 , 3 , 3 ] ] ) torch.unsqueeze() torch.unsqueeze(input, dim, out=None) → Tensor

DataSet转换为泛型集合List(Of T)

守給你的承諾、 提交于 2019-12-07 05:10:59
在 上篇 博客“DataTable转换为实体(函数)”的介绍的最后提出了这样的问题: 思考问题: 函数返回值为实体,这意味着什么? 意味着该函数的返回记录只能有一条,对不对?因为一个实体只能“保存”一条记录。 像查看某学生基本信息、某用户基本信息——某个人的基本信息只能有一条记录(学生实体:卡号、学号、姓名、…)吧,好,可有定义返回实体函数 思考问题: 但是,如果“根据日期查看所有收取金额记录”——不止一条记录吧,给你U层返回一个实体,能实现此功能吗?当然不能。 如何解决? 面对此问题,如何解决,你想过吗?——你说,返回DataSet或DataTable不就得了吗。你看,Out了 吧…. 偷偷告诉大家,还是返回实体,但是这次不是返回一个实体啦,是返回”一群“实体(实体集合) (上篇博客链接: 《DataSet转换为实体(函数)》 ) 本篇 博客就介绍,如果由DataSet转换为泛型集合(集合中存放的是实体,即:实体集合) 涉及到“泛型”知识点,请参考: 《泛型》 例子: 机房收费系统——查看某段日期内收取金额记录 只写D层 1,查询某段日期内收取金额记录——CheckGetRechargeInfo(参数)——返回值:充值信息实体泛型集合 2,数据集转换为泛型集合—— DataSetToList( 参数 ) ——返回值:充值信息实体的泛型集合 ''' <summary> '''

VB 老旧版本维护系列---有点懵逼的webserver访问

爷,独闯天下 提交于 2019-12-06 16:37:32
有点懵逼的 webserver 访问 ‘ 定义 webserver 地址 Dim postUrl As String = "" ‘ 定义 webserver 所需 xml 字符串参数 Dim xmlRequest As String = "" ‘ 获取 webserver 返回信息 Dim responseText As String = "" ‘ 定义传输字符编码 Dim URLEncode As System.Text.Encoding = System.Text.Encoding.GetEncoding( "utf-8" ) ‘ 将 xml 字符串参数转化为 byte 数组 Dim postdata() As System.Byte = URLEncode.GetBytes(xmlRequest) ‘ 获取 xml 字符串参数传输长度 Dim xmlRequestLength As Integer = postdata.Length ‘ 定义 XMLHttp 访问 webserver, 记得 Imports MSXML2(Microsoft XML, v6.0) Dim oXMLHttp As New XMLHTTP60() oXMLHttp.open( "Post" , postUrl, False ) oXMLHttp.setRequestHeader( "Content

PyTorch/DeepLearning 杂记

纵然是瞬间 提交于 2019-12-04 07:03:53
1. softmax 运算: \(\hat{y_1}, \hat{y_2}, \hat{y_3}=softmax(o_1,o_2,o_3)\) 其中: \(\hat{y_1}=\dfrac{exp(o_1)}{\sum_{i=1}^{3}exp(o_i)}, \hat{y_2}=\dfrac{exp(o_2)}{\sum_{i=1}^{3}exp(o_i)}, \hat{y_3}=\dfrac{exp(o_3)}{\sum_{i=1}^{3}exp(o_i)}\) Pytorch中对多维`Tensor`沿某一维度求和的操作: """ tensor矩阵X: 1 2 3 4 5 6 """ X = torch.tensor([[1,2,3],[4,5,6]]) X.sum(dim=0, keepdim=True) #dim=0, 对同一列元素求和 X.sum(dim=1, keepdim=True) #dim=1, 对同一行元素求和 #keepdim=True表示求和后仍保留这两个维度 2.交叉熵损失函数: 在softmax完成多分类的情况下,我们得到的输出通常是所有类别的概率分布,我们的训练目标是使正确类别的概率最大化,只要目标类别的概率大于其他类别的概率就可以了。如果使用平方损失函数,计算出来的损失过于严格(把其他类别的概率也算了进去),所以这里使用更加适合 衡量两个概率分布差异

分组填报表的制作

浪尽此生 提交于 2019-12-04 05:38:35
在前面几篇文章中,我们一起学习了行式填报表制作的相关内容,也了解了多源 SQL 和脚本两种数据处理方式,今天我们来研究一下如何制作分组填报表。 同样地,我们以 demo 示例库中的雇员表信息维护为例,在数据填报页面,需要实现以下效果: 1)雇员信息按照地区分组显示 2)雇员基本信息可进行修改 效果图如下图所示: 在制作分组填报表之前,我们先来看一下它的设计原理。 原理说明: 分组填报表中有两个维度:分组维度和明细维度,如何处理两者之间的逻辑关系是重点,这两个维度之间应该是什么样的一种逻辑关系呢?我们先来看一个简单的例子,A1 单元格为分组维度,B1 单元格为明细维度,两者关系如下: A1:[1,2] 单元格在解析计算时会展开成 1,2 两个分组 B1:[[11,55],[22,44]] B1 需要按照 A1 的分组维度展开对应的数据 分组维度是两个值,那么明细维度要分别对应设置序列:1 对应 [11,55],2 对应 [22,44],最终解析结果如上图右侧所示。 从这里我们可以看出来,明细维度和分组维度是一一对应的,我们需要将符合维度值的数据整理为一个序列,这样才能保证结果页面数据的对应关系是正确的。 在了解了原理之后,我们来看详细实现步骤: 第一步 新建空白填报表 编辑填报表内容和样式,如下图所示: 第二步 设置数据处理 根据我们前面讲到的原理,来源脚本内容如下图所示: A B

domino代理通过Request_Content域接收extjs以post方式提交的数据

纵然是瞬间 提交于 2019-12-03 17:51:18
// extjs 通过Post方式发送数据至服务器端 var conn = new Ext.data.Connection(); conn.request({ url : '/test/ajaxdemo.nsf/agentWebIMSendMsg?openagent', method : 'POST', params : { fromUserAccount : fromusername, toUserAccount : tousername, message : encodeURIComponent(message) }, success : function(responseObject) {}, failure : function(responseObject) { Ext.Msg.alert(' 失败', responseObject.statusText); } }); //domino 代理:接收并处理数据 Sub Initialize On Error Goto ErrorHandle Dim session As New notessession Dim curdb As NotesDatabase Dim curdoc As notesDocument Dim tdoc As NotesDocument Dim strFormular As String dim

Assignment issue with Rscript -e calls

匿名 (未验证) 提交于 2019-12-03 09:52:54
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Can anyone explain this behaviour, when calling R externally from command line with a multi-line string argument? $ Rscript -e "dim(mtcars)" [1] 32 11 $ Rscript -e "df = mtcars; dim(df)" [1] 32 11 $ Rscript -e "head(rownames(mtcars))" [1] "Mazda RX4" "Mazda RX4 Wag" "Datsun 710" [4] "Hornet 4 Drive" "Hornet Sportabout" "Valiant" $ Rscript -e "df = mtcars; df$car = rownames(mtcars); dim(df)" NULL 回答1: The culprit here is the shell, not R. You haven't indicated what shell you're using, but they all (sh/bash/ash/dash/ksh/zsh/tcsh) behave pretty

matlab中fft快速傅里叶变换

核能气质少年 提交于 2019-12-03 02:36:01
视频来源: https://www.bilibili.com/video/av51932171?t=628 。 博文来源:https://ww2.mathworks.cn/help/matlab/ref/fft.html?searchHighlight=fft&s_tid=doc_srchtitle 视频来源很好的解释了: 1 .傅里叶变换过程,经过傅里叶变化得到了,频率w,振幅a0,相位角φ; 2. 傅里叶变换 主要应用领域: 声音, 图像处理; 博文则很好的解释了: 1. 傅里叶变换在matlab软件中怎样应用 2.. 傅里叶变换的作用效果的展示,从时域到频域的变化,时域难以解决的问题到频域中却很清晰。 语法 Y = fft(X) Y = fft(X,n) Y = fft(X,n,dim) 说明 示例 Y = fft( X ) 用快速傅里叶变换 ( FFT) 算法计算 X 的 离散傅里叶变换 (DFT)。 如果 X 是向量,则 fft(X) 返回该向量的傅里叶变换。 如果 X 是矩阵,则 fft(X) 将 X 的各列视为向量,并返回每列的傅里叶变换。 如果 X 是一个多维数组,则 fft(X) 将沿大小不等于 1 的第一个数组维度的值视为向量,并返回每个向量的傅里叶变换。 示例 Y = fft( X , n ) 返回 n 点 DFT。如果未指定任何值,则 Y 的大小与 X 相同