
Python
TEn%
因为自己淋过雨,所以想给别人撑把伞。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
einops.repeat, rearrange, reduce优雅地处理张量维度
我总是搞不清啥时候dim=0或者dim=1,总会搞混,刚好在阅读Vision Transformer代码时,看到有人用einops,于是百度了一下,发现这个东西真的很好用!大家可以参考这两篇帖子对照着学习:https://zhuanlan.zhihu.com/p/342675997https://blog.csdn.net/weixin_43135178/article/details/118877384没有安装的话,首先需要pip install einops安装完后,大家可以顺着我的代码,依次原创 2021-09-17 16:41:43 · 8506 阅读 · 0 评论 -
pytorch学习(十六)to(device) 和.cuda()的用法
看pytorch官方给的代码,to(device)的时候可以指定GPU设备号。二者没啥太大区别,都可以用。cuda = torch.device('cuda') # Default CUDA devicecuda0 = torch.device('cuda:0')cuda2 = torch.device('cuda:2') # GPU 2 (these are 0-indexed)x = torch.tensor([1., 2.], device=cuda0)# x.device is原创 2021-07-10 17:03:32 · 11040 阅读 · 0 评论 -
Pytorch学习(十五)squeeze()和unsqueeze()的用法
squeeze()函数用于压缩维度,unsqueeze()用于扩充维度。1. unsqueeze()用法介绍unsqueeze()函数用于扩充维度,它有一个参数unsqueeze(dim),表示在第dim维上扩充维度。下面的代码中arr维度是(2,3,4),在第0维进行扩充,代码第三行维度是(1,2,3,4),通过第四行代码的输出结果可以看出,输出张量与原张量不共享内存,可通过第五行arr = arr.unsqueeze(0)来改变arr维度。arr = torch.arange(1, 25).vi原创 2021-05-22 15:41:10 · 831 阅读 · 0 评论 -
Pytorch学习(十三)python中*args和**kwargs的用法
1. python中*args和**kwargs的用法*args和 **kwargs经常在函数定义中被使用,用来传递可变长参数。*args表示任意多个无名参数,是一个tuple,**kwargs表示关键字参数,是一个dict。当*args和 **kwargs同时是使用时,*args参数列表要放在 **kwargs前边。举例如下:# 测试*args和**kwargsdef func(*args, **kwargs): print("args = ", args) print("kwa原创 2021-05-15 14:17:15 · 4971 阅读 · 1 评论 -
Pytorch学习(十二)pytorch中.data, .item()和.detach的用法
待完成… …原创 2021-05-15 13:39:09 · 1488 阅读 · 0 评论 -
Pytorch学习(十一)Pytorch中.item()的用法
我第一次接触.item()是在做图像分类任务中,计算loss的时候。total_loss = total_loss + loss.item()1. .item()的用法.item()用于在只包含一个元素的tensor中提取值,注意是只包含一个元素,否则的话使用.tolist()x = torch.tensor([1])print(x.item())y = torch.tensor([2,3,4,5])print(y.item())# 输出结果如下1---------------------原创 2021-05-12 17:15:16 · 33416 阅读 · 4 评论 -
Pytorch学习(十)Pytorch中常用的损失函数
1. torch.nn.CrossEntropyLossCrossEntropyLoss的作用相当于将nn.LogSoftmax()和nn.NLLLoss()结合在一起,nn.LogSoftmax()相当于先对输入矩阵计算softmax值,然后取log。举例说明这几个函数的功能:(1)使用nn.Softmax() + torch.log()来模拟nn.LogSoftmax()import torchimport torch.nn as nn# 随机生成输入input = torch.randn原创 2021-05-12 15:51:37 · 1626 阅读 · 0 评论 -
Pytorch学习(九)Pytorch中CPU和GPU的Tensor转换,Tensor和ndarray的转换及.cuda(non_blocking=True)的作用
1. 设置训练模型的GPU设备的方式device = torch.device("cuda:1" )model = model.to(device)2. CPU和GPU上Tensor的比较该部分参考自来自达摩院大神的讲解PyTorch中的数据类型为Tensor,Tensor与Numpy中的ndarray类似,同样可以用于标量,向量,矩阵乃至更高维度上面的计算。PyTorch中的tensor又包括CPU上的数据类型和GPU上的数据类型,一般GPU上的Tensor是CPU上的Tensor加cuda(原创 2021-05-11 22:08:14 · 17644 阅读 · 0 评论 -
Pytorch学习(八)读取数据集的方式汇总
待完成。。。原创 2021-05-11 20:33:05 · 341 阅读 · 0 评论 -
Pytorch学习(七)torchvision.datasets.ImageFolder的用法
待写。。。原创 2021-05-11 20:31:20 · 537 阅读 · 1 评论 -
Pytorch学习(六)Dataset, DataLoader,Sampler的理解
1. DatasetDataset表示的是静态的数据集,DataLoader的侧重点在于Loader加载器,将Dataset中的数据按照一定的规则加载到神经网络中2. DataLoader用法详解DataLoader类涉及到的参数如下:torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, batch_sampler=None, num_workers=0, collate_fn=None, p原创 2021-05-09 20:43:01 · 810 阅读 · 0 评论 -
Pytorch学习(四)Transforms用法学习
1. Transforms该如何使用?Transforms用来对输入图片的格式及样式做一些改变,使用时需要注意图像的输入格式:PIL格式---->Image.open()ndarray------>cv.imread()转换成Tensor格式-------->ToTensor()from PIL import Imagefrom torchvision.transforms import transformsimg_path = "dataset/facades/tra原创 2021-05-09 10:53:39 · 493 阅读 · 2 评论 -
Pytorch学习(五)内置函数__init__()和__call__()函数的使用
根据下面的代码可以看出,call()函数不用显示调用,而是使用对象初始化的方式来调用。class Person: def __call__(self, name): print("__call__" + " hello " + name) def hello(self, name): print("hello ", name)p = Person()p("Amy")p.hello("Mike")# 结果如下:__call__ hello Am原创 2021-05-08 19:16:41 · 1471 阅读 · 1 评论 -
剑指 Offer 16. 数值的整数次方 产生错误:RecursionError: maximum recursion depth exceeded in comparison
声明:此文章用来记录我对于题目的解法及大佬们优秀的解答,部分代码是复制的别人的,所以此文章只是为了方便我日后重新看优秀的解答,如涉及代码版权请联系我删除。1. 题目问题实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。示例输入:x = 2.00000, n = 10输出:1024.000002. 解答(1)我的暴力递归法class Solution: # 递归方法 def myPow(self, x: float,原创 2021-04-02 19:15:29 · 609 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
声明:此文章用来记录我对于题目的解法及大佬们优秀的解答,部分代码是复制的别人的,所以此文章只是为了方便我日后重新看优秀的解答,如涉及代码版权请联系我删除。1. 题目问题:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:2. 解答(1)我的暴力解法# 方法1:丝毫没有进行优化, 时间复杂度:O(m*n), 空间复杂度O(1) def find原创 2021-03-28 15:01:13 · 97 阅读 · 0 评论 -
使用python搭建单隐藏层神经网络用于分类
这篇文章系统的介绍了搭建、训练单隐藏层神经网络的步骤。将“肿瘤预测”数据集划分为训练集和测试集,使用训练集训练神经网络,使用测试集来预测训练好的神经网络的效果。原创 2020-02-25 13:36:38 · 866 阅读 · 0 评论 -
Win10系统下安装GPU版本的Tensorflow
一、背景这里介绍的是TensorFlow-GPU版本,因为CPU版本的安装过程相对容易,想安装CPU版本的请参照其他帖子。想要安装GPU版本的,需要查看一下自己的电脑显卡是否支持GPU版本。大家可以可以先装一下Anaconda,为自己的深度学习程序创建一个独立的虚拟环境。默认大家已经安装了Anaconda,装没装都没关系,只不过有了Anaconda对于我来说更加方便。二、平台介绍笔者的系...原创 2019-12-20 16:49:00 · 171 阅读 · 0 评论 -
np.power()整数的负整数次幂不被允许
CValues = (0.01, 0.03, 0.1, 0.3, 1, 3, 10, 30)sigmaValues = CValuesbestPair, bestScore = (0, 0), 0for C in CValues: for sigma in sigmaValues: gamma = np.power(sigma, -2)/2 clf ...原创 2019-12-13 15:20:06 · 1688 阅读 · 0 评论 -
python中dataframe和array的相互转化
DataFrame是Pandas的两大数据结构之一(另一个是Series),array是Numpy中的数据结构1.DataFrame转array的方式:array = df.values2.array转DataFrame的方式:df = pd.Dataframe(array)举例:import pandas as pddata = {'name':['Zhang Sa...原创 2019-11-09 13:57:52 · 3975 阅读 · 0 评论 -
python切片操作
1.切片操作的目的、用途:从某个对象中抽取部分值2.索引值索引值分为正索引和负索引我们以数组 a = [0,1,2,3,4,5] 为例:数值与索引值对应关系 数值 0 1 2 3 4 5 正索引 0 1 2 3 4 5 负索引 -6 -5 -4 -3 -2 -1...原创 2019-11-04 16:42:40 · 254 阅读 · 0 评论 -
Anaconda 安装虚拟环境过程中遇到这个问题:CondaHTTPError: HTTP 000 CONNECTION FAILED for url ......
今天我在安装Anaconda虚拟环境过程中,一直报以下错误:>conda create -n deep python=3.5 anacondaSolving environment: failedCondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/pro/win...原创 2019-09-18 22:43:44 · 1785 阅读 · 1 评论