index函数

图神经网络 | (6) 图分类(SAGPool)实战

落爺英雄遲暮 提交于 2020-02-04 02:28:00
近期买了一本图神经网络的入门书,最近几篇博客对书中的一些实战案例进行整理,具体的理论和原理部分可以自行查阅该书,该书购买链接: 《深入浅出的图神经网络》 。 该书配套代码 本节我们通过代码来实现基于自注意力的池化机制(Self-Attention Pooling)。来对图整体进行分类,之前我们是对节点分类,每个节点表示一条数据,学习节点的表示,进而完成分类,本节我们通过自注意力池化机制,得到整个图的表示,进而对全图进行分类(每个图表示一条数据)。 导入必要的包 import os import urllib import torch import torch.nn as nn import torch.nn.init as init import torch.nn.functional as F import torch.utils.data as data import torch.optim as optim import numpy as np import scipy.sparse as sp from zipfile import ZipFile from sklearn.model_selection import train_test_split import pickle import pandas as pd import torch_scatter #注意

Leetcode C++《热题 Hot 100-14》283.移动零

喜你入骨 提交于 2020-02-02 01:19:22
Leetcode C++《热题 Hot 100-14》283.移动零 题目 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/move-zeroes 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 思路 是一个没做过的题目,参考冒泡swap的方法 //1 0 0 3 12 // 1 3 0 0 12 // 1 3 12 0 0 方案1(196ms,内存10MB):标记0的index-x,找到index-x之后的第一个不为0的数字进行交换, 时间复杂度n*n,比如最坏情况0 0 0 0 0 0 1 方案2(8ms,内存10MB):时间复杂度为n,统计0的个数,直接把非0的移动到最终位置(index位置的最后位置是index-该位置前面0的个数) 方案1的时间复杂度O(n)、空间复杂度O(1) 代码 class Solution { public : void moveZeroes ( vector < int > & nums ) { /*int index_0 = -1

python零基础二

一曲冷凌霜 提交于 2020-02-01 01:55:08
""" 函数参数的分类: 1.位置参数 2.关键字参数 3.默认参数 4.可变参数 *args 可以给0,1,多个任意类型的实参 **kwargs 可以给0,1,多个键值对类型的实参 函数参数传递的方式: 实参->形参 值? 基本类型 在函数内操作,对源数据没有任何影响 地址? 可变类型 在函数内操作,源数据同样会发生改变 递归函数 直接或者间接调自己 递归本质: 压栈操作 栈的工作原理(弹夹原理:先进后出 FILO) 斐波那契数列 汉诺塔(课下查) 青蛙跳台阶 递归错误:栈溢出错误 命名空间: 分类: 内置 全局 globals() 局部 locals() 加载顺序: 内置 -> 全局 -> 局部 B G L 搜索顺序: 局部 -> 全局 -> 内置 L G B 作用域(LEGB) L: 局部 当前函数 E: 闭包 嵌套函数的内部函数中 G: 全局 当前文件中的所有函数 B: 内置 所有文件 """ a = 10 def func1 ( c = 10 ) : d = 20 print ( locals ( ) ) print ( a ) def func2 ( ) : x = 10 print ( x ) def func3 ( ) : print ( a ) # print(globals()) print ( __name__ ) print ( __file__ )

Leetcode(Java)-283. 移动零

走远了吗. 提交于 2020-01-31 05:02:23
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 方法1:从第一位开始,寻找数组中的非0数放在最前面 class Solution { public void moveZeroes(int[] nums) { for(int i =0 ;i < nums.length-1; i++){ if(nums[i]==0){ for(int j=i+1;j < nums.length; j++){ if(nums[j]!=0) { int temp =nums[i]; nums[i]=nums[j]; nums[j]=temp; break; } } } } } } 方法2: 1.遍历数组把非零元素(假设有k个)按顺序存入数组的0至k-1位置上; 2.把原数组剩余未新赋值部分(k到n-1位置上)全设置为0; class Solution { public void moveZeroes(int[] nums) { int index = 0; for (int i = 0; i < nums.length; i++) { if (nums[i] != 0) { nums[index] = nums[i

[摘]C/C++实现js的split函数功能

限于喜欢 提交于 2020-01-29 03:01:45
今天在网上找了一下,发觉有比较多的方法,现在列出来,需要的朋友可以参考一下。 功能最丰富的就是第一种方法了: 1 vector< string > Split( const string & s, const string & match, bool removeEmpty= false , bool fullMatch= false ) 2 // 参数s为需要肢解的字符串 3 // 参数match为肢解匹配字符串 4 // 参数removeEmpty为是否删除空字符 5 // 参数fullMatch为是否只保留全匹配的字符串 6 7 下面为代码区: 8 #include < string > 9 #include 10 11 namespace Daniweb 12 { 13 using namespace std; 14 15 typedef string ::size_type ( string ::*find_t)( const string & delim, 16 string ::size_type offset) const ; 17 18 /// 19 /// Splits the string s on the given delimiter(s) and 20 /// returns a list of tokens without the delimiter

详细解读PHP的命名空间

此生再无相见时 提交于 2020-01-28 23:48:26
PHP培训 一:命名空间里的namespace关键字和__NAMESPACE__常量的运用 PHP支持两种抽象的访问当前命名空间内部元素的方法,__NAMESPACE__ 魔术常量和namespace关键字。 常量__NAMESPACE__会储存当前命名空间的名字字符串,如果当前是全局非命名空间,则保存的是空字符串。 关键字 namespace 可用来显式访问当前命名空间或子命名空间中的元素。它等价于类中的 self 操作符。如果不在当前是全局环境的话,那么显式访问的就是全局限定的元素。 __NAMESPACE__实例: <?php namespace Index\Name{ var_dump(__NAMESPACE__); //打印string(10) "Index\Name" function foo($classname){ return __NAMESPACE__.'\\'.$classname; } } namespace{ var_dump(__NAMESPACE__); //打印string(0) "" var_dump(Index\Name\foo('ceshi')); //打印string(16) "Index\Name\ceshi" } ?> namespace实例: <?php namespace Index\Name\Index{ function foo(

【WXS数据类型】Array

无人久伴 提交于 2020-01-26 14:08:56
属性: 名称 值类型 说明 [Array].constructor [String] 返回值为“Array”,表示类型的结构字符串 [Array].length [Number] 返回数组长度 方法: 原型:[Array].toString() 说明:将数组转换成字符串,用逗号分隔每个元素 原型:[Array].concat( array1, array2, ... arrayX ) 说明:连接多个数组,返回连接后的数组副本,它不会改变原数组(array) 参数: array1 [必需 Array] array2....arrayX [可选] 原型:[Array].join( separator ) 说明:把数组中的所有元素以指定的分隔符组成一个字符串 参数: separator [可选 String] 指定分隔符,不设置时用逗号分隔 原型:[Array].pop() 说明:函数返回数组[array]的最后一个元素,同时会将[array]的最后一个元素删除。(更改了array的值) 原型:[Array].shift() 说明:函数返回数组[array]的第一个元素,同时会将[array]的第一个元素删除。(更改了array的值) 原型:[Array].unshift( newElement1, newElement2, ... newElementX) 说明

Python与数据(一)——数据分析Pandas

被刻印的时光 ゝ 提交于 2020-01-25 03:20:07
Pandas 什么是Pandas 数据结构 Series DataFrame 获取数据源 导入文件 查看数据表的大小 查看数据类型 查看数值分布情况 数据预处理 判断哪个是NAN 删除缺失值 填充缺失值 删除重复值 数据类型转换 设置索引 数据选择 选择列 选择行 筛选行 行列同时选择 loc方法 iloc方法 布尔索引+普通索引 连续的行列 单个行/列+连续列/行 数值操作 数值替换 数值排序 数值排名 数值删除 删除列 删除行 数值计算 计数 获取唯一值 数值查找 区间切分 插入列 行列互换 层次化索引 数据运算 加减乘除 比较 计数 求和 求均值 求最大、最小值 求中位数 求众数 求方差 求标准差 指定列、行运算 数据分组 aggregate方法 reset_index方法 表拼接 横向拼接 左连接 右连接 外连接 重复列 纵向拼接 数据导出 Python数据分析系列以《对比Excel,轻松学习Python数据分析》为参考进行学习 什么是Pandas Pandas是基于Numpy的一种工具,主要用于处理数据进行分析,它纳入了大量的库和一些标准的数据模型,提供了操作大型数据集所需的工具 数据结构 根据百度百科,Pandas里的数据结构有以下几种 Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近

js 数组对象的方法 常用API

泄露秘密 提交于 2020-01-25 01:04:08
改变原数组的 ES5 push() //向数组的末尾添加一个或多个元素, 返回新数组长度 语法: arr.push(element1[, ...[, elementN]]) pop() // 用于删除并 返回数组的最后一个元素 如果数组为空,返回undefined 语法: arr.pop() unshift() //返回新数组长度 shift() // 删除并 返回数组的第一个元素 如果数组为空,返回undefined 语法: arr.shift() sort() // 对数组的元素进行排序, 返回改变后的数组 语法: arr.sort([compareFunction]) 注意:compareFunction 指定定义排序顺序的函数。如果省略,则将数组元素转换为字符串,然后根据每个字符的Unicode代码点值进行排序。 reverse() // 用于颠倒数组中元素的顺序, 返回改变后的数组 语法: arr.reverse() splice() // 向数组中添加/删除/替换项目,返回删除的元素,如果仅删除一个元素,则返回一个元素的数组。如果没有删除任何元素,则返回一个空数组。 语法: array.splice(start[, deleteCount[, item1[, item2[, …]]]]) ES6 copyWithin() // 在当前数组内部,

js 数组、对象常见的遍历用法大全

♀尐吖头ヾ 提交于 2020-01-24 08:44:03
前言 对于前端js使用中,遍历函数是经常用到的,下面就列举一下前端的常见遍历方法 一、没有返回值的方法 for for 遍历应该是最普通也是最常见的遍历,如下: for ( let i = 0 ; i < 5 ; i ++ ) { console . log ( i ) ; //0 1 2 3 4 5,i为遍历次数 } for…in for…in 语句用于遍历数组或者对象的属性 const person = { id : '1' , name : '李子' } ; for ( let x in person ) { console . log ( x , person [ x ] ) ; } //id 1 //name 李子 //x 为对象的属性名:id、name;persion[x]即为对应的属性值了 注意: 1、该用法用于数组遍历时, x 则是数组的下标 2、一般用于对象属性遍历居多, 不建议对数组使用 ,原因如下: const person = [ { id : '1' , name : '李子' } ] ; person . test = '123' ; for ( let x in person ) { console . log ( x , person [ x ] ) ; } //0 { id: '1', name: '李子' } //test '123' 当数组对象