- 博客(54)
- 收藏
- 关注
原创 WMSE
class Weighted_mse_mae(nn.Module): def __init__(self, mse_weight=1.0, mae_weight=1.0, NORMAL_LOSS_GLOBAL_SCALE=0.00005): super(Weighted_mse_mae, self).__init__() self.NORMAL_LOSS_GLOBAL_SCALE = NORMAL_LOSS_GLOBAL_SCALE self.mse_weight = mse_weight
2020-06-23 16:48:36
643
原创 Python实现交换排序--冒泡排序和快速排序
冒泡排序也叫起泡排序,气泡排序。基本思路(升序为例):比较第一个和第二个,逆序(data[0]>data[1])则交换,然后比较第二个和第三个,如此下去完成第一趟排序,这样最大的元素被安排到最后一个位置n;第二趟排序对前n-1个元素进行上述操作,第二大的元素排在n-1的位置;最大比较次数n(n-1)/2 。时间复杂度为O(n2) 冒泡排序是稳定的。选择排序的是目前内部排序方法中速度最...
2019-05-20 10:15:21
1092
翻译 pytorch中图像的数据格式
计算机视觉方面朋友都需要跟图像打交道,在pytorch中图像与我们平时在matlab中见到的图像数据格式有所不同。matlab中我们通常使用函数imread()来轻松地读入一张图像,我们在变量空间中可看到数据的存储方式是H x W x C的顺序(其中H、W、C分别表示图像的高、宽和通道数,通道数一般为RGB三通道),另外,其中的每一个数据都是[0,255]的整数。在使用pytorch的时候,我们...
2019-05-10 15:20:52
2891
原创 Python面向对象--理论学习
面向对象OOP:object oriented programmingPython 是动态语言,解释执行,运行速度慢;文件名可以是同名不同包包/模块/ 比如:p1/util.py p2/util.py包下面必须有__init__.py 这样才能把包当成目录处理Python的网络服务器有TCPServer、UDPServer、UnixStreamServer、UnixDatagram...
2019-05-10 15:20:09
170
原创 Python学习
1.标识符英文字母数字下划线组成,数字不可以开头,关键字:if else elif break continue for while and or not del in True False return try except finally raise as import from def class None global注意class.xx...
2019-05-10 15:19:36
162
原创 C++学习
一.C++版本对比C版本的hello world 输出1.编写C++程序c++程序必须要有一个main函数,也就是程序的入口函数,操作系统调用该函数来执行程序,main必须是小写函数的组成部分:函数名称,返回值,形参列表,函数体// c 版本的程序#include<stdio.h> // 标准输入输出#include<stdlib.h>int main()...
2019-05-10 15:19:22
209
翻译 python函数式编程
1.filter()函数filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。请利用filter()过滤出1~100中平方根是整数的数,即结果应该是:[1, ...
2019-05-09 18:27:35
581
原创 Python实现--线性表-顺序存储结构--的基本运算
class SequenceList(): def __init__(self): self.SeqList = [] def createSequenceList(self): element = input('please input a numer and enter # ensure:') while element != '#': self.SeqList.appe...
2019-05-09 18:26:47
1355
原创 Python实现插入排序--直接插入排序和希尔排序
直接插入排序:移动次数较多,时间复杂度为O(n**2)。整个排序过程只需要一个记录单元的辅助空间,所以空间复杂度为O(1),是一种稳定的排序方法。希尔排序又称为缩小增量排序。比直接插入排序要快,但是不稳定的排序方法。选定一个增量d1<n,所有相距d1的记录为一组。先在各组内进行插入排序,然后减小间隔d2<d1,重复上述分组和排序过程,直到d1=1为止。直接插入实现递增排序def...
2019-05-09 18:25:15
173
原创 Python实现--队列的顺序存储和链式存储
队列:允许插入的一端为队头front,允许删除的一端为队尾rear,先进先出的原则。顺序队列:sequential queue队尾指针指示队尾元素在一维数组中的当前位置,队头指针指示队头元素在一维数组中当前位置的前一个位置,空队列self.front= self.rear = 0链式队列:linked queue一个同时带有头指针和尾指针的单链表,头指针指向头结点,尾指针指向尾结点cla...
2019-05-09 11:30:13
1004
原创 python--栈的顺序存储和链式存储
栈stack操作:后进先出,只允许在一短进行插入删除操作,顺序存储为顺序栈,sequential stack有栈满数组溢出问题,链式存储linked stack没有设置头结点,data+next 栈底结点next域为null。class SeqStack(object): def __init__(self,size): self.top = -1 self.max_size = ...
2019-05-08 21:16:23
654
原创 numpy中的==和is和 view
import numpy as npa = np.arange(12)print ab = aprint a is bc = a.view()print a is cprint a == cd = a.copy()print a is dprint a == d输出:[ 0 1 2 3 4 5 6 7 8 9 10 11]TrueFalse...
2019-05-07 22:25:41
383
原创 Python实现将多个npy文件转换成对应个数的txt文件
import osimport numpy as nppath='/CNN/path' #一个文件夹下多个npy文件,txtpath=‘/CNN/txtpath'namelist=[x for x in os.listdir(path)]namelist.sort(key=lambda x:int(x[:-4])) #npy file name in order#print len...
2018-11-14 15:09:18
3353
原创 Python实现将一个文件夹下面的多个txt文件合并成一个txt文件
import osimport shutil #导入这个包txtpath='/CNN/txtpath'namelist=[x for x in os.listdir(txtpath)]namelist.sort(key=lambda x:int(x[:-4])) #txt file nameprint len(namelist)#1674outfilename='/CNN/b.t...
2018-11-14 15:06:03
6407
原创 python的assert语句
assert语句用于检查表达式是否为真,如果为假,则引发AssertionError错误语法格式:assert expression [,args]expression:表达式args:判断条件的描述信息
2018-10-08 14:04:13
1178
1
原创 python实现斐波纳挈数列
0,1,1,2,3,5,8,…像这样的数列,输出前10个class Fib(object): def __call__(self,num): a,b,L=0,1,[] for n in range(num): L.append(a) a,b=b,a+b return Lf = Fib()...
2018-10-07 20:49:05
498
原创 Python实现有理数的四则运算
Rational类实现四则运算。p、q 都是整数,表示有理数 p/q。def gcd(a, b): if b == 0: return a return gcd(b, a % b)class Rational(object): def __init__(self, p, q): self.p = p self.q = q...
2018-10-07 20:24:09
1429
1
翻译 python装饰器
# python装饰器decoratorPython的 decorator 本质上就是一个高阶函数,它接收一个函数作为参数,然后,返回一个新函数。使用 decorator 用Python提供的 @ 语法,这样可以避免手动编写 f = decorate(f) 这样的代码。def log(f): def fn(x): print 'call ' + f.__name__ ...
2018-10-07 16:40:37
137
原创 Python实现不规范英文名字首字母大写
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。def format_name(s): str=s.upper() if len(str)>1: name=str[0]+str[1:].lower() return namepri...
2018-10-07 14:21:59
1132
原创 python 定义函数
Python源文件(.py)可以被直接运行,还可以作为模块module,被其他.py文件导入. if name == ‘main‘的意思是: 当.py文件被直接运行时,if name == ‘main‘之下的代码块将被运行; 当.py文件以模块形式被导入时,if name == ‘main‘之下的代码块不被运行。#define functiondef func(a,b): c=...
2018-09-07 19:38:23
452
原创 python中的yield
for可以迭代 yield 语句每次执行时,立即返回结果给上层调用者,而当前的状态仍然保留,以便迭代器下一次循环调用。这样做的好处是在于节约硬件资源,在需要的时候才会执行,并且每次只执行一次。def func(max): a=0 b=1 while max: r=b #1 2 4 8 16 a=b...
2018-09-07 19:19:52
979
原创 Python中的for循环
for循环的格式:for xx in xx:list=[1,2,5,3,4]for item in list: print(item) #1-4#range分三种情况for i in range(2,10): print(i) #2-9for j in range(10): print(j) #0-9for k in range(1,10,2):...
2018-09-07 19:01:24
1059
原创 numpy.vstack和for循环
arr=np.vstack([np.linspace(-1,1,5) for _ in range(4)]) 对于这行代码怎么看懂到底是什么作用,拆开测试: 其中for _ in range()中下划线表示 临时变量, 仅用一次,后面无需再用到 numpy.vstack(arrays, axis=0) Parameters: arrays : sequence of array_lik...
2018-09-03 22:09:13
2220
翻译 Variable和tensor的计算
变量在torch中是建立一个计算图,但是相比较Tensorflow和Theano中的静态图, 它是动态的,torch没有placeholder,torch只能给计算图传递变量import numpy as npimport torchfrom torch.autograd import Variabletensor=torch.Tensor([[1,2],[3,4]])var...
2018-08-31 10:13:25
510
翻译 pytorch学习-pytorch和numpy中数组操作
PyTorch 是 Torch 在 Python 上的衍生. 因为 PyTorch 是一个使用 Python语言的神经网络库, Torch 很好用, 但是 Lua 又不是特别流行, 所有开发团队将 Lua 的 Torch 移植到了更流行的语言 Python 上. Torch 自称为神经网络界的 Numpy, 因为他能将 torch 产生的 tensor 放在 GPU 中加速运算 (前提是你...
2018-08-31 09:43:28
8911
翻译 theano--shared 变量
Shared 变量,意思是这些变量可以在运算过程中,不停地进行交换和更新值。 在定义 weights 和 bias 的情况下,会需要用到这样的变量。用累加器来定义 Shared 变量,每一次向上面加一个值,每一次基于上面的变化,再加上另一个值,就这样不断地更新并保存这样的值。import numpy as npimport theano.tensor as Timport th...
2018-08-23 17:10:34
746
翻译 theano--function的三种用法
import numpy as npimport theano.tensor as Timport theano#activation function example激活函数的例子x=T.dmatrix('x')s=1/(1+T.exp(-x)) #np.exp 这是一个激活函数的式子logistic=theano.function([x],s)print(logistic([...
2018-08-23 15:53:39
1877
翻译 theano的tensor
theano官网:http://deeplearning.net/software/theano/ tensowflow 目前只能用在 MacOS 和 Linux, theano 可以在 Windows ,MacOS 和 Linux系统下运行; theano 可以使用 GPU 进行运算,用GPU运行比CPU快100倍左右,theano 是 python 模块。 tensowflow 是比较商...
2018-08-23 15:34:51
2524
原创 centos7下pycharm安装
写python程序需要严格的空格,直接pycharm比较放方便。百度百科介绍如下: PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。Linux系统下安装pycha...
2018-08-23 11:12:08
724
原创 深度学习的几点总结
1.卷积和池化关系 一般先卷积后池化 卷积的时候尽量不压缩图像的长宽,尽量保留更多的信息, 卷积会无意的丢失一些信息,因此池化可以解决这个问题,在池化进行压缩。 2.评价: 连续数据的精度:R2 score 不均衡数据的精度:F1 score 过拟合:L1/L2 regularization, dropout L1 regularization: y’=Wx Cos...
2018-08-16 19:44:18
401
翻译 多线程模块threading(添加线程,join控制执行顺序,存储进程结果,lock
添加线程import threading #导入模块def main(): print(threading.active_count()) #已经激活的线程数目 print(threading.enumerate()) #查看所有线程 print(threading.current_thread())#查看当前正在运行的线程if __name...
2018-08-16 19:34:14
558
原创 python的set()函数
Python2.7— set() 函数创建一个无序不重复元素的集合,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等,返回新的集合对象a=['1','2','3','2','2','3']#定义一个listb=set(a)print(b) #set(['1', '3', '2'])print(type(b)) #<type 'set'&...
2018-08-16 11:19:39
38399
原创 pickle模块
pickle模块:把Python数据变成流的形式。 dump()序列化和load()反序列化 pickle.dump()存到本地文件,所存数据的结构就是字典,普通的file.write()是写入字符串import pickledict={'one':111,'two':222,'three':{1:2,3:4}}#执行这三行生成test.pickle文件'''file=open(...
2018-08-16 10:49:15
131
原创 python中的copy和deepcopy
a=[1,2,3,4]b=aprint(b) # [1, 2, 3, 4]print(a==b) # Trueprint(id(a)==id(b)) #Trueimport copyc=copy.copy(a) print(c) # [1, 2, 3, 4]print(a==c) # Trueprint(id(a)==id(c)) #Falsea[0]=0...
2018-08-16 10:33:23
227
原创 3D重建作业-软件安装(2)
Bundler可以得到较为稀疏的点云(point clouds)数据。如果需要得到更密集的点,MVPS2。一种比较常见的途径是使用Bundler来得到相机参数,然后使用Bundle2PMVS程序,将生成结果转换为PMVS2的输入,然后使用PMVS2来得到更密集的点云。CMVS是一个场景聚类程序,在使用PMVS2前可以使用它来进行一些预处理。Ubunu16.0 安装bundler 一、Bund...
2018-08-16 10:19:37
294
原创 3D重建作业-软件安装(1)
Bundler可以得到较为稀疏的点云(point clouds)数据。如果需要得到更密集的点,MVPS2。一种比较常见的途径是使用Bundler来得到相机参数,然后使用Bundle2PMVS程序,将生成结果转换为PMVS2的输入,然后使用PMVS2来得到更密集的点云。CMVS是一个场景聚类程序,在使用PMVS2前可以使用它来进行一些预处理。Ubunu16.0 安装bundler 一、Bund...
2018-08-16 10:19:17
351
原创 tensorflow中session的两种打开模式
import tensorflow as tfmatrix1 = tf.constant([[3, 3]])#一行两列的矩阵matrix2 = tf.constant([[2], [2]])#2行1列的矩阵#tensorflow矩阵相乘product = tf.matmul(matrix1, matrix2) #numpy中矩阵相乘的形式...
2018-08-16 10:17:33
1755
原创 Python中的zip lambda map
a=[1,2,3]b=[4,5,6]zip(a,b)print(list(zip(a,b)))#[(1, 4), (2, 5), (3, 6)]for i,j in zip(a,b): print(i/2,j*2)print(list(zip(a,a,b)))#[(1, 1, 4), (2, 2, 5), (3, 3, 6)]function=lambda x,y:x+y...
2018-08-16 10:14:59
237
原创 python 中break 和continue
break:直接跳出循环while True: a=input('input a num:') if a==1: break else: pass print("in the while")print('finish!')输出: input a num:1 finish!continue:继续向下执行judge...
2018-08-16 09:49:42
184
原创 导入模块module
公共的模块:import numpy as np #给定一个简称import numpy #导入numpyfrom numpy import * #导入所有的from numpy import random #导入需要的random调用自己的模块 test.py def printdata(data): p...
2018-08-16 09:29:46
228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人