sparse

scipy的使用过程bug调试

别说谁变了你拦得住时间么 提交于 2020-04-05 20:31:05
C:\SoftApplication\Anaconda3\python.exe E:/pycharmprojects/test03/test01.py Traceback (most recent call last): File "E:/pycharmprojects/test03/test01.py", line 2, in <module> from scipy.integrate import quad,dblquad,nquad File "C:\SoftApplication\Anaconda3\lib\site-packages\scipy\integrate\__init__.py", line 95, in <module> from ._bvp import solve_bvp File "C:\SoftApplication\Anaconda3\lib\site-packages\scipy\integrate\_bvp.py", line 10, in <module> from scipy.sparse.linalg import splu File "C:\SoftApplication\Anaconda3\lib\site-packages\scipy\sparse\linalg\__init__.py", line 116, in <module>

tf.base(constant & Variable)

倾然丶 夕夏残阳落幕 提交于 2020-01-30 00:19:31
tf2除了tf.keras这个高级api的引入之外,其他的一些基础函数也发生了一些变化,就连最为基本的constant也发生了一些变化,比如在1.x里面constant建立的数组是不支持列数不一样的数组组合的,但是在2.0的版本里面,引入了RaggedTensor这个数据类型,也就实现了不规则数据的组合 import tensorflow as tf from tensorflow import keras t = tf . ragged . constant ( [ [ 1 . , 2 . , 3 . ] , [ 4 . , 5 . ] ] ) print ( t ) 可以看到这里的数据类型是RaggedTensor,我们也可以通过t.to_tensor()这个函数来完成数据类型从RaggedTensor转变为Tensor型,RaggedTensor类型除了可以进行简单的加减乘除以外,还可以通过tf.concat()函数来进行数组之间的拼接 t1 = tf . ragged . constant ( [ [ 5 . , 6 . ] , [ 7 . , 8 . ] ] ) print ( tf . concat ( ( t , t1 ) , axis = 0 ) ) 因为RaggedTensor类型在转变成tensor类型的时候,位数不够的自动补0

TensorFlow之SparseTensor对象

三世轮回 提交于 2020-01-29 03:57:48
在TensorFlow中,SparseTensor对象表示稀疏矩阵。SparseTensor对象通过3个稠密矩阵indices, values及dense_shape来表示稀疏矩阵,这三个稠密矩阵的含义介绍如下: 1. indices:数据类型为int64的二维Tensor对象,它的Shape为[N, ndims]。indices保存的是非零值的索引,即稀疏矩阵中除了indices保存的位置之外,其他位置均为0。 2. values:一维Tensor对象,其Shape为[N]。它对应的是稀疏矩阵中indices索引位置中的值。 3. dense_shape:数据类型为int64的一维Tensor对象,其维度为[ndims],用于指定当前稀疏矩阵对应的Shape。 举个例子,稀疏矩阵对象SparseTensor(indices=[[0, 0],[1, 1]], value=[1, 1], dense_shape=[3, 3])对应的矩阵如下: [[1. 0. 0.] [0. 1. 0.] [0. 0. 0.]] 函数tf.sparse_tensor_to_dense用于将稀疏矩阵SparseTensor对象转换为稠密矩阵,函数tf.sparse_tensor_to_dense的原型如下: tf.sparse_tensor_to_dense( sp_input, default

自动编码器

耗尽温柔 提交于 2020-01-27 00:54:47
自动编码器基本概念 自动编码器(AutoEncoder)是神经网络的一种,一般来讲自动编码器包括两部分:编码器和解码器,编码器和解码器相互串联合作,实现数据的降维或特征学习,现在也广泛用于生成模型中. 在深度学习中,autoencoder可用于在训练阶段开始前,确定权重矩阵的初始值. 左侧为encoder,右侧为decoder.可以看出最简单的自动编码器只有三层,输入层+隐藏层x1+输出层. 自动编码器神经网络是一种无监督机器学习算法,其应用了反向传播,可将目标值设置成与输入值相等。自动编码器的训练目标是将输入复制到输出。在内部,它有一个描述用于表征其输入的代码的隐藏层。 自动编码器可以用一个公式简单的表示: f(x) = x 从这里也可以看出来自编码器的作用就是用来进行数据降维和特征学习. ****自动编码器的局限**** 从上面来看,仅仅经过了20轮训练就可以达到一个不错的可视化效果,但是实际上自动编码器还是有很大的局限性的. 自动编码器依据特定的样本进行训练,因此其适用性很大程度上被局限于与训练样本相似的数据; 自动编码器很容易过拟合,即最终简单的将样本数据投射回去,这就需要结合深度学习中的各种方法来防止过拟合的产生 (1)给定无标签数据,用非监督学习学习特征: 在我们之前的神经网络中,如第一个图,我们输入的样本是有标签的,即(input, target)

对dataframe中的某一列进行独热编码(One-Hot Encoding)

老子叫甜甜 提交于 2020-01-25 03:15:53
该列中包含了标签中的所有类别: from sklearn . preprocessing import OneHotEncoder enc = OneHotEncoder ( sparse = False ) result = enc . fit_transform ( data [ [ 41 ] ] ) #41指的是列标为41的那一列数据 该列中包含了标签中的所有类别的一部分: from sklearn . preprocessing import OneHotEncoder enc = OneHotEncoder ( sparse = False ) enc . fit ( [ [ 0 ] , [ 1 ] , [ 2 ] , [ 3 ] , [ 4 ] , [ 5 ] , [ 6 ] , [ 7 ] , [ 8 ] , [ 9 ] ] ) result = enc . transform ( data [ [ 41 ] ] ) #注意这个函数少了fit前缀 #enc = OneHotEncoder(sparse = False) #enc.fit([[0], [1]]) #result = enc.transform(data['6A']) #print(result.shape) s = pd . get_dummies ( data [ '6A' ] , sparse =

#ICCV2019论文阅读#Fully_convolutional_Features

ⅰ亾dé卋堺 提交于 2020-01-09 00:02:44
一 知识背景 3D scan&cloud points(点 云)patch-based features,fully convolutional network, deep metric learning, sparse tensors,sparse convolutions, hard negetive-mining, contrastive loss, triplet loss, batch normalization... 1.cloud points(点云)   “在 逆向工程 中通过测量仪器得到的产品外观表面的点数据集合也称之为点云,通常使用三维坐标测量机所得到的点数量比较少,点与点的间距也比较大,叫稀疏点云;而使用 三维激光扫描仪 或照相式扫描仪得到的点云,点数量比较大并且比较密集,叫密集点云, 点云是在和目标表面特性的海量点集合。根据激光测量原理得到的点云,包括三维坐标(XYZ)和激光反射强度(Intensity)。根据摄影测量原理得到的点云,包括三维坐标(XYZ)和颜色信息(RGB)。 结合激光测量和摄影测量原理得到点云,包括三维坐标(XYZ)、激光反射强度(Intensity)和颜色信息(RGB)。在获取物体表面每个采样点的空间坐标后,得到的是一个点的集合,称之为“点云”(Point Cloud)。点云的格式:; *.pts; *.asc ; *.dat; *

Linux命令学习总结:cp命令

谁说胖子不能爱 提交于 2019-12-25 01:13:07
命令简介: cp命令用来复制文件或目录。指令英文原义:copy 指令所在路径:/bin/cp 命令语法: Usage: cp [OPTION]... [-T] SOURCE DEST or: cp [OPTION]... SOURCE... DIRECTORY or: cp [OPTION]... -t DIRECTORY SOURCE... 命令参数: 此命令参数是Red Hat Enterprise Linux Server release 5.7下cp命令参数,不同版本Linux的cp命令参数有可能不同。 参数 长参数 描叙 -a 等同于-dR -b 若删除或者覆盖目标文件,将对目标文件进行备份,备份文件以备份的字符串结尾 -d 复制符号链接 -f 强制复制 -h 强制cp命令复制符号链接。缺省值是跟随符号链接,也就是将文件复制到符号链接指向处。 -i 交互式模式。覆盖目标文件之前先要进行询问 -l 建立硬链接,而非复制 -p 源目录或者文件的属性保留 -P 源目录或者文件的路劲保留 -r/-R 处理指定目录以及子目录 -v --verbose 显示命令执行的详细信息 --help 显示命令在线帮助 --version 显示命令版本信息 使用示例: 1: 查看rmdir命令的帮助信息 [root@DB-Server ~]# cp --help Usage: cp

#Paper Reading# DeepGBM: A Deep Learning Framework Distilled by GBDT for Online Prediction Tasks

自闭症网瘾萝莉.ら 提交于 2019-12-22 08:34:14
论文题目: DeepGBM: A Deep Learning Framework Distilled by GBDT for Online Prediction Tasks 论文地址: https://dl.acm.org/citation.cfm?id=3330858 论文发表于: KDD 2019 论文大体内容: 本文主要提出了DeepGBM模型,来整合NN与GBDT的优势,支持sparse特征和dense特征,并且是end2end的训练流程,也适用于online training。经过实验,该模型在常见的数据集(如Criteo等)上取得state-of-art的效果。 Motivation: GBDT是传统的方法,对dense特征特别有效,目前也在工业届/比赛广泛使用,但是它不能很好处理sparse特征,而NN对sparse特征处理的特别好,如何将它们结合起来以取得更好的效果,是特别重要的。 Contribution: 本文作者提出DeepGBM模型,通过对sparse特征和dense特征分别使用2个不同的模型来处理,CatNN(任意处理sparse特征的模型,在这里直接使用DeepFM)来处理sparse特征,GBDT2NN(NN版GBDT)来处理dense特征,最后将两者结合以达到更好的效果; 1. DeepGBM的framework如下图

Python中的numpy.meshgrid

◇◆丶佛笑我妖孽 提交于 2019-12-05 23:22:31
关于该方法的解释,官网有详细的介绍(https://docs.scipy.org/doc/numpy-1.8.1/reference/generated/numpy.meshgrid.html#numpy.meshgrid)。这里做简单的介绍: numpy. meshgrid ( *xi , **kwargs ) 该方法为从参数中返回一个坐标矩阵。 参数: 1、 x1, x2,..., xn: array格式,代表网格坐标的一维数组。 2、 indexing : {‘xy’, ‘ij’}, 该参数可选的。默认为 xy(输出的笛卡尔( Cartesian )索引),ij为输出的矩阵索引。 3. sparse:布尔型(True/False),默认为 False。可选的参数,为True时返回一个稀疏网格。 4、 copy : 布尔型(True/False),默认为 True ,可选的参数。 如果为False,则返回原始数组的视图以节省内存。 默认值为True。 当将sparse = False,copy = False可能返回不连续的数组。 输出: X1, X2,..., XN, ndarray型数据 对于长度为Ni = len(xi)输入数组x1,x2,...,xn,当参数 indexing为 'ij'时,返回(N1,N2,N3 ,... Nn)形阵列;当参数 indexing为

scipy.sparse 稀疏矩阵的转化

僤鯓⒐⒋嵵緔 提交于 2019-12-04 23:49:18
indptr = np.array([0, 2, 3, 6]) indices = np.array([0, 2, 2, 0, 1, 2]) data = np.array([1, 2, 3, 4, 5, 6]) scipy.sparse.csc_matrix((data, indices, indptr), shape=(3, 3)).toarray() output: array([[1, 0, 4], [0, 0, 5], [2, 3, 6]]) 转换成稀疏矩阵有3种方式: crc_matrix, csr_matrix, coo_matrix crc_matrix 矩阵是按照列存储的 indptr 是每列数据的对应的data的下标,即 indptr[0] - indptr[1], indptr[2] - indptr[1], indptr[3] - indptr[2] 数据有3列 indices 是 对应的行的下标大小 第一列: data[ indptr[0] : indptr[1] ] = data[0:2] = 1, 2 indices[indptr[0] : indptr[1] ] = indices[0:2] = 0, 2 output: [ [1], [0], [2] ] 第二列: data[ indptr[1] : indptr[2] ] = data[2:3]