Python / Pytorch /TensorFlow
Python / Pytorch /TensorFlow
Enzo 想砸电脑
这个作者很懒,什么都没留下…
展开
-
python函数参数前面单星号(*)和双星号(**)的区别
在python的函数中,经常能看到输入的参数前面有一个或者两个星号,如下。这两种用法其实都是用来 将任意个数的参数导入到函数中。原创 2023-02-10 23:07:40 · 607 阅读 · 0 评论 -
torch.nn.init.constant_(tensor, value)
import torchw = torch.empty(3, 5)print(w)print(nn.init.constant_(w, 0.3))print(w)print(nn.init.constant_(w, 2.3))# -------- output -------tensor([[8.1276e-36, 0.0000e+00, 2.3694e-38, 1.2598e-01, 3.0000e-01], [3.0000e-01, 3.0000e-01, 3.000原创 2020-11-27 10:23:17 · 2465 阅读 · 0 评论 -
数据类型 ---- 关于int,long,long long
在C99中,int并未规定一定为32位,但是在大多数情况下,int都是32位的。因此出现了int32_t和uint32_t,它们一定表示32位。因此int的范围:int -2147483648~2147483647unsigned int 0~4294967295long:原型是 long int,int可以省略。long只要求不比int长度短就行,现在long的长度一般跟int相同,都是32位,因此long的范围:long -2147483648~2147483647unsigned lo转载 2020-09-02 18:19:11 · 1538 阅读 · 0 评论 -
numpy array / pytorch tensor 数据类型转换
array str 转 inttimestamp = delta_pose[i, 0].astype(int)numpy 转 tensora = numpy.array([1, 2, 3])t = torch.from_numpy(a)print(t)#tensor([ 1, 2, 3])原创 2020-08-31 03:43:18 · 6600 阅读 · 0 评论 -
pytorch 深度学习框架
# 定义网络net = Net()# 定义数据#数据预处理,1.转为tensor,2.归一化transform = transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])# 训练集trainset = torchvision.datasets.CIFAR10(root='./data', train=True, ..转载 2020-08-30 21:29:57 · 259 阅读 · 0 评论 -
pytorch利用torch.save()保存模型参数及载入
假设网络为model = Net(), optimizer = optim.Adam(model.parameters(), lr=args.lr), 假设在某个epoch,我们要保存模型参数,优化器参数以及epoch一、先建立一个字典,保存三个参数:state = {‘net':model.state_dict(), 'optimizer':optimizer.state_dict(), 'epoch':epoch}2.调用torch.save():torch.save(state, d转载 2020-08-30 20:40:57 · 2453 阅读 · 0 评论 -
pytorch Tensorboard
import tensorflow as tfimport numpy as npimport scipy.misc try: from StringIO import StringIO # Python 2.7except ImportError: from io import BytesIO # Python 3.x class Logger(object): def __init__(self, log_dir):转载 2020-08-26 04:37:12 · 132 阅读 · 0 评论 -
Pytorch tensorboard
1.安装tensorboard、tensorflow以及tensorboardXconda install tensorflow tensorboardconda install --channel https://conda.anaconda.org/conda-forge tensorboardx2. 使用from tensorboardX import SummaryWriter# 如果不添加path,则默认以时间命名writer = SummaryWriter('path')转载 2020-08-25 17:36:16 · 113 阅读 · 0 评论 -
multiply with broadcasting
转载 2020-08-24 09:58:02 · 211 阅读 · 0 评论 -
Pytorch自定义网络结构+读取自己数据+自定义Loss 全过程代码示例
原文链接import osos.environ['CUDA_VISIBLE_DEVICES'] = '3'os.system('echo $CUDA_VISIBLE_DEVICES') import torchimport torch.nn as nnimport torch.nn.functional as Fimport torch.utils.data as dataimport torch.optim as optimfrom torch.autograd import Vari转载 2020-08-20 06:26:41 · 169 阅读 · 0 评论 -
世界坐标系,相机坐标系和图像坐标系的转换(Python)
世界坐标系,相机坐标系和图像坐标系的转换(Python)原创 2020-08-18 08:54:54 · 6864 阅读 · 3 评论 -
上采样 upsample Pytorch
import torchimport torch.nn as nninput = torch.arange(0, 16).view(1,1,4,4).float()print((input))m = nn.Upsample(scale_factor=2, mode='nearest')print(m(input))m = nn.Upsample(scale_factor=2, mode='bilinear',align_corners=False) #align_corners = Fa原创 2020-08-17 00:24:39 · 419 阅读 · 0 评论 -
yaml
下载 yaml 包pip install pyyamlpython 代码中load yaml文件的配置内容import yamlyaml_file_dir = '/Users/manmi/Documents/data/square_mm3/config.yaml'with open(yaml_file_dir, 'r') as f: cfg = yaml.load(f, Loader=yaml.FullLoader)原创 2020-07-31 23:03:38 · 90 阅读 · 0 评论 -
PCL 报错
今儿写篇心情日志,记录我崩了的心态。。之前用ICP取做correspondence效果不好,导师就建议用NDT试试。 好了,我就开始找资料,了解理论,然后找代码参考。鉴于之前的经验,自己写的代码或者copy & modify 别人的代码,跑起来速度贼慢。就心里想着找现成的吧,现成的库就。。pcl吧。。。也没别的选择了。之前一直用python,那就先去下pcl-python, pcl-python对python的版本还有要求,只能2.7和3.5。 行吧, 那就acacnda配置环境。环境配置好之后,原创 2020-07-30 00:54:51 · 461 阅读 · 0 评论 -
open3d. ICP
原文链接import open3d as o3dimport numpy as np#读取电脑中的 ply 点云文件source = o3d.read_point_cloud("plys/6.ply") #source 为需要配准的点云target = o3d.read_point_cloud("plys/0.ply") #target 为目标点云#为两个点云上上不同的颜色source.paint_uniform_color([1, 0.706, 0]) #source 为黄色转载 2020-07-28 05:02:09 · 365 阅读 · 0 评论 -
python defaultdict
from collections import defaultdictlst = [10, 11, 12, 13, 14, 15, 20, 30, 10, 40, 50, 30]dct = defaultdict(list)# print(dct) # defaultdict(<type 'list'>, {})# print(type(dct)). # <type 'collections.defaultdict'># for i, v in enumer原创 2020-07-26 17:29:16 · 121 阅读 · 0 评论 -
python np.tile(A,reps)
from numpy import *a = array([1,2,3])print(a.shape)# (3.)print(a.ndim)# 1 b = tile(a,2) print(b)# [1 2 3 1 2 3]print(b.shape)# (6,)print(b.ndim)# 1c = tile(a,(2,3)) print(c)# [[1 2 3 1 2 3 1 2 3]# [1 2 3 1 2 3 1 2 3]]print(c原创 2020-07-25 05:32:51 · 130 阅读 · 0 评论 -
把 .xyz 文件转换成 .ply 文件 (加头文件)
from plyfile import PlyData,PlyElementimport reimport numpy as npfrom os.path import joindef write_ply(save_path,points,text=True): points = [(points[i,0], points[i,1], points[i,2]) for i in range(points.shape[0])] vertex = np.array(point原创 2020-07-24 04:54:54 · 2727 阅读 · 0 评论 -
Python中打开文件的方式(With open)
转载 2020-06-29 00:51:38 · 510 阅读 · 0 评论 -
sklearn NearestNeighbors
函数输入:X : source points datasetY : destination points dataset函数:对于Y中的每一个点, 在X找出距其最近的k个点 (k 由参数中的 n_neighbors表示)(Euclidean distance 欧几里得距离)函数输出:distances : 在所有X的points中,距离Y中的(每个)点最近的k个点的距离indices : 这k个最近的点的索引nbrs = NearestNeighbors(n_neighbors=原创 2020-06-22 22:11:15 · 3912 阅读 · 0 评论 -
python字符串切割:str.split()和re.split()对比
1、str.split不支持正则及多个切割符号,不感知空格的数量,比如用空格切割,会出现下面情况。>>> s1="aa bb cc">>> s1.split(' ')['aa', 'bb', '', 'cc']因此split只适合简单的字符分割2、re.split,支持正则及多个字符切割>>> print lineabc aa;bb,cc | dd(xx).xxx 12.12' xxxx按空格切>>> re.sp转载 2020-06-21 17:14:35 · 535 阅读 · 0 评论 -
import , from...import ,包(Package)
import 与 from importimport :导入一个模块;即导入一个.py文件假设有一个模块 support.py, 文件内容如下,包含一个print_func函数def print_func( par ): print "Hello : ", par return使用 import 引入并调用 support 模块的正确方法:#!/usr/bin/python# -*- coding: UTF-8 -*- # 导入模块import support # 现原创 2020-06-01 17:38:19 · 405 阅读 · 0 评论 -
open()
open()函数完整的语法格式为:open(file, mode=‘r’, buffering=None, encoding=None, errors=None, newline=None, closefd=True)函数定义的参数挺多,这里我们着重讲解mode——文件打开模式。mode参数有两大类,分别用来指定打开文件的文件格式和读写模式。文件格式t:以文本格式打开文件(默认)。一般用于文本文件,如:txt。b:以二进制格式打开文件。一般用于非文本文件,如:图片。这一类参数可以与其它的模式参数转载 2020-05-31 08:09:14 · 320 阅读 · 0 评论 -
tf.squeeze()
tf.squeeze(input, squeeze_dims=None, name=None)Removes dimensions of size 1 from the shape of a tensor.从tensor中删除所有大小是1的维度Given a tensor input, this operation returns a tensor of the same type with all dimensions of size 1 removed. If you don’t want to转载 2020-05-31 00:16:19 · 116 阅读 · 0 评论 -
python 函数用法汇总
行合并:np.row_stack()列合并:np.column_stack()原创 2020-04-23 08:38:12 · 117 阅读 · 0 评论 -
降维 --PCA(Principal Component Analysis)// np.linalg.eig() 和 np.linal 的比较
np.linalg.eig() 和 np.linalg.eigh() 的比较例子中比较了 np.linalg.eig() 和 np.linalg.eigh()两者都只能处理是方阵(square array)np.linalg.eigh()适用于对称矩阵,可见矩阵分析中针对对称矩阵的特征值分解有一套特殊的不同于一般矩阵的理论np.linalg.eig() 对求出的特征值(eigenva...原创 2020-04-14 18:40:56 · 1118 阅读 · 0 评论 -
array 删除操作 delete
array 删除操作 delete一维array:np.delete(array, index) ,第二个参数是要删除的元素的索引arr1=np.arange(0,10)print(arr1)print(np.delete(arr1,2))#[0 1 2 3 4 5 6 7 8 9]#[0 1 3 4 5 6 7 8 9]二维array删除:np.delete(array, ...原创 2020-04-13 19:23:54 · 1717 阅读 · 0 评论 -
torch.nn.Conv2d()函数详解
import torchx = torch.randn(2,1,7,3)conv = torch.nn.Conv2d(1,8,(2,3))res = conv(x)print(res.shape) # shape = (2, 8, 6, 1)输入:x[ batch_size, channels, height_1, width_1 ]batch_size 一个batch...转载 2020-04-11 17:59:04 · 1977 阅读 · 0 评论 -
map函数
一个与zip的混合应用list = [(1, 2, 3), (4, 5, 6), (7, 8, 9)]s = random.sample(list, 2)print(s)a, b, c = map(np.array, zip(*s))print(a)print(b)print(c)print('type of a : ', type(a))原创 2020-04-11 11:04:04 · 178 阅读 · 0 评论 -
np.reshape
>>> a=np.array([[1,2,3],[4,5,6]])>>> np.reshape(a,(3,2))array([[1, 2], [3, 4], [5, 6]])>>> a.shape(2, 3)转载 2020-04-10 00:55:20 · 103 阅读 · 0 评论 -
pytorch nn.MSELoss()
CLASS torch.nn.MSELoss(size_average=None, reduce=None, reduction=‘mean’)MSE : Means Square Error参考文献:https://pytorch.org/docs/stable/nn.html#torch.nn.MSELoss原创 2020-04-09 06:14:59 · 671 阅读 · 0 评论 -
collection.deque 固定长度队列
collection.dequedeque (maxlen=N)创建了一个固定长度的队列,最大长度为N,可添加元素 : q.append()可弹出元素 : q.pop()默认从右边添加和弹出,也可从左边添加和弹出元素: q.appendleft(), q.popleft()from collections import dequeq = deque(maxlen=3)q.appen...原创 2020-04-09 06:38:35 · 1186 阅读 · 0 评论