Tensorflow & Pytorch
文章平均质量分 57
tf,torch,keras
sdbhewfoqi
这个作者很懒,什么都没留下…
展开
-
【Pytorch】CUDA error: no kernel image is available for execution on the device
当前的 PyTorch 安装支持 CUDA 功能 sm_37 sm_50 sm_60 sm_70。记录一下pytorch安装的cuda版本和GPU cuda不一致的解决。sm_80对应的cuda是11.1,而我安装的cuda是10.2。一般就是pytorch和cuda安装的不匹配。如果我安装的torch配的cuda信息如下,具有 CUDA 功能 sm_80 的。与当前 PyTorch 安装不兼容。改一下就好了,根据官网。原创 2023-08-25 16:04:47 · 645 阅读 · 0 评论 -
【Pytorch】csv 2 torch tensor
..原创 2023-03-20 23:51:48 · 358 阅读 · 0 评论 -
【Pytorch】pytorch Tried to access index 6040 out of table with 6039 rows
创建emb table需要给定数据+1,这个维度才能创建正确的table。pytorch 试图从具有 6039 行的表中访问索引 6040。创建的emb table只有6039行,但是输入的数据有6040。原创 2023-01-05 16:54:02 · 303 阅读 · 1 评论 -
【Pytorch】torch api 学习1
torch.mm,matull,lookup,cat原创 2022-12-08 14:06:40 · 606 阅读 · 0 评论 -
【Tensorflow】tf1.x api
y=wx+b的训练(tf1.15);读取外部数据 feed_dict;tf.reshape;np.reshape;tf.boolean_mask;tf.sequence_mask;tf.ones_like;tf.where;Variable与Tensor?原创 2022-12-08 00:01:59 · 233 阅读 · 0 评论 -
【Tensorflow】gather与gather_nd
tf1.x 类比切片目录tf.one_hot 提取行gather 提取行 gather 提取列gather_nd与lookup的作用差不多embedding层_tensorflow中的Embedding操作详解_weixin_39835321的博客-CSDN博客运行时,上面的遍历才会产生gather 提取行 可以看到gather也实现了如上tf.one_hot的效果gather 提取列当emb是一维时gather_ndtf.gather函数呢,我们只能通过原创 2022-12-07 23:23:36 · 710 阅读 · 0 评论 -
【TensorFlow】lookup emb
直接看代码吧~tensorflow学习笔记--embedding_lookup()用法_STHSF的博客-CSDN博客原创 2022-12-07 17:44:22 · 330 阅读 · 0 评论 -
【Pytorch】BUG RuntimeError: Found dtype Long but expected Float
说明此时需要float型数据,但识别到long型数据,此时需要对入参和出参做一下类型转换output=output.to(torch.float32)target=target.to(torch.float32)举例output =net(input)target = variable(t.arange(0,10))#the pointoutput=output.to(torch.float32)target=target.to(torch.float32)criterion原创 2021-10-13 22:05:39 · 12163 阅读 · 0 评论 -
【Pytorch】矩阵操作api介绍
torch.mul() 和 torch.mm() 区别torch.mul(a, b)是矩阵a和b对应位相乘,a和b的维度必须相等,比如a的维度是(1, 2),b的维度是(1, 2),返回的仍是(1, 2)的矩阵。 torch.mm(a, b)是矩阵a和b矩阵相乘,比如a的维度是(1, 2),b的维度是(2, 3),返回的就是(1, 3)的矩阵...原创 2021-07-11 17:48:35 · 256 阅读 · 0 评论 -
【Pytorch】TensorDataset
from torch.utils.data import DataLoader, Dataset, TensorDataset主要是在使用过程中对不熟悉的api做个记录。作用:可以用来对tensor进行打包。代码:a = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9], [1, 2, 3], [4, 5, 6], [7, 8, 9], [1, 2, 3], [4, 5, 6], [7, 8, 9], [1, 2, 3], [4, 5, 6], .原创 2021-07-11 16:49:20 · 220 阅读 · 0 评论 -
【Pytorch】模型测试demo套路(9)
就是inference吧。完整的模型测试 or demo套路,利用已经训练好的模型,然后给模型提供输入。重要的步骤,加载完模型 model 之后,model.eval() ## 重要 with torch.no_grad(): ## 重要 output = model(image) # 给模型传入输入 print(output) # 打印模型预测结果 print(output.argmax(1)) # 打印模型预测类别# -*- coding: utf-8 -*-..原创 2021-06-29 16:35:18 · 441 阅读 · 1 评论 -
【Pytorch】使用GPU训练(8)
目录一、第一种GPU训练方式 .cuda()二、第二种GPU训练方式 .to(device)一、第一种GPU训练方式 .cuda()找到网络模型; 数据(输入、label); 损失函数;返回.cuda()即可。train_gpu_1.py# -*- coding: utf-8 -*-# 作者:小土堆# 公众号:土堆碎念import torchimport torchvisionfrom torch.utils.tensorboard import Sum..原创 2021-06-29 15:40:07 · 996 阅读 · 0 评论 -
【Pytorch】完整的模型训练套路(7)
以CIFAR10为例,model.py# -*- coding: utf-8 -*-# 作者:小土堆# 公众号:土堆碎念import torchfrom torch import nn# 搭建神经网络class Tudui(nn.Module): def __init__(self): super(Tudui, self).__init__() self.model = nn.Sequential( nn.Conv2d(原创 2021-06-29 15:11:44 · 438 阅读 · 0 评论 -
【Pytorch】网络的保存与读取(6)
一、调用先有的网络模型使用vgg16,https://pytorch.org/vision/stable/models.htmlFalse是初始化的参数,Ture是训练好的参数。如下代码显示了,如何加载pytorch预训练的网络模型,并对网络进行修改。vgg16原始输出结果是1000类,但是CIFAR10只有10类。需要对vgg16进行修改。# -*- coding: utf-8 -*-import torchvision# train_data = torchvis...原创 2021-06-29 10:46:48 · 830 阅读 · 1 评论 -
【Pytorch】损失函数与反向传播(5)
注意loss function输入shape和输出shape即可。import torchfrom torch.nn import L1Lossfrom torch import nninputs = torch.tensor([1, 2, 3], dtype=torch.float32) # float才能进行loss运算targets = torch.tensor([1, 2, 5], dtype=torch.float32)print("inputs:{}".format(input原创 2021-06-28 21:52:45 · 849 阅读 · 2 评论 -
【Pytorch】常用层的说明(4)
目录一、卷积层二、最大池化层三、非线性激活四、线性层及其他层介绍五、搭建一个小网络六、Sequential的使用一、卷积层https://pytorch.org/docs/stable/generated/torch.nn.Conv2d.html#torch.nn.Conv2dhttps://github.com/vdumoulin/conv_arithmetic/blob/master/README.mdtorch.nn.Conv2d(in_channels, #原创 2021-06-28 11:39:56 · 380 阅读 · 1 评论 -
【Pytorch】nn.Module基本骨架(3)
https://pytorch.org/docs/stable/nn.html#containersCONTAINERS 给神经网络定义了一些骨架。将常用的层添加到骨架里。CLASStorch.nn.ModuleBase class for all neural network modules. Your models should also subclass this class. Modules can also contain other Modules, allowing to原创 2021-06-27 23:35:14 · 192 阅读 · 1 评论 -
【Pytorch】transforms的使用(2 CV领域)
目录一、tensorboard的使用writer.add_scalar()writer.add_image()二、transforms的使用三、常见的transforms3.1 __call__()的作用3.2 ToTensor() / Normalize() / Resize()四、使用torchvision中自带的图像数据集ps取消pycharm大小写匹配关注输入和输出类型 多看官方文档 关注方法需要什么参数 不知道返回值的时候 1)print...原创 2021-06-27 22:50:58 · 475 阅读 · 1 评论 -
【Pytorch】torch加载数据(1)
目录一、torch如何加载数据 Dataset二、DataLoader的使用一、torch如何加载数据 Dataset两个类Dataset:提供一种方式去获取数据及其label,读取数据用。如何获取每一个数据及其label 总共有多少个数据Dataloader:为后面的网络提供不用的数据形式,送入模型里,batchsize时用。from torch.utils.data import Datasethelp(Dataset)Help on class Datas...原创 2021-06-27 22:33:25 · 1105 阅读 · 1 评论 -
【tensorflow】ckpt模型restore
目录内容如下checkpoint中的内容如下model_checkpoint_path: "mymodel-290"all_model_checkpoint_paths: "mymodel-260"all_model_checkpoint_paths: "mymodel-270"all_model_checkpoint_paths: "mymodel-280"all_model_checkpoint_paths: "mymodel-290"model save与restore代码原创 2021-04-27 20:45:32 · 248 阅读 · 1 评论 -
【Tensorflow】tensorflow中将一个普通list转换为tensor?
c = tf.reshape(b, [1, -1])原创 2021-04-23 15:54:36 · 3643 阅读 · 0 评论 -
【Tensorflow】1.14基础知识点
基于 tf 1.4tf 如何打printimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'import tensorflow as tfcate_list = [3,2,5,6,22,66]cate_list = tf.convert_to_tensor(cate_list, dtype=tf.int64)with tf.Session() as sess: print(sess.run(cate_list)) # ...原创 2021-02-09 15:27:37 · 817 阅读 · 0 评论 -
【Tensorflow】tf.sequence_mask()
目录一:tf.sequence_mask()函数二:tf.boolean_mask()函数一:tf.sequence_mask()函数应用场景主要是在填充计算时候使用,比如你把没有单词的位置填充了0,如果纳入了前向传播计算,影响了最终经验损失函数的结果。那么我们如果通过tf.sequence_mask得到的mask张量,与损失函数结果进行对照相乘,可以去掉无用的损失值,保证了计算的准确性。1.定义# 函数定义sequence_mask( lengths, maxl原创 2021-02-07 15:50:46 · 607 阅读 · 0 评论 -
【Tensorflow】tf查看是否使用gpu
1、tf.test.is_gpu_available( cuda_only=False, min_cuda_compute_capability=None)# 简化一点print("is_gpu: ", tf.test.is_gpu_available())2、import tensorflow as tfsess = tf.Session(config=tf.ConfigProto(log_device_placement=True))# 查看日志信息若包含gp原创 2021-01-08 17:08:23 · 5867 阅读 · 0 评论 -
【Pytorch】本地预训练模型加载
1、预训练模型加载【Pytorch】快速下载预训练模型并修改保存路径最最最重要的是要将pretrained=False,如果是Ture的话,还是会去官方定义的路径下载pth。原创 2020-11-26 15:10:26 · 1527 阅读 · 1 评论 -
【Tensorflow】RuntimeWarning: compiletime version 3.5 of module ‘tensorflow.python.framework.fast_tens
先说下我机器的环境python3.6、cuda8.0(真的够老)、tensorflow_gpu==1.4运行代码时报错:RuntimeWarning: compiletime version 3.5 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.6网上看说这个是tensorflow的一个小bug???tersorflow gpu cuda cudnn pyt原创 2020-11-25 17:06:05 · 425 阅读 · 1 评论 -
【Pytorch】使用过程中的一些报错记录
主要是公司电脑是windows,有些在本地上调和集群上环境不一样。 ImportError: DLL load failed: 页面文件太小,无法完成操作 python代码训练神经网络时,报错:“ImportError: DLL load failed: 页面文件太小,无法完成操作。”出现这个问题可能有两种情况。1、不止在运行一个项目,另一个项目的python程序也在运行,关掉就可以了。2、windows操作系统不支持python的多进程操作。而神经网络用到多进程的地方在数据集加载上,所原创 2020-11-26 15:05:58 · 625 阅读 · 1 评论 -
【Pytorch】关于pytorch依赖包cuda cudnn等的记录
1、Pytorch 使用不同版本的 cudaPytorch 使用特定的 cuda 版本 从 Pytorch 确定使用的 cuda 版本的流程来看,想要指定 Pytorch 使用的 cuda 版本,主要有两种方法,第一种是修改软链接 /usr/local/cuda 所指向的 cuda 安装目录( 若不存在则新建 ),第二种是通过设置环境变量 CUDA_HOME 指向所需使用的 cuda 版本的安装目录。除此之外,还建议将对应 cuda 目录中的可执行文件目录( 形如/home/test/cuda-1原创 2020-07-29 14:13:59 · 1310 阅读 · 0 评论 -
【Keras】学习笔记
对于卷积神经网络而言,可以使用两种方法降低GPU的内存需求。1、采用较大的递进步数作为卷积内核,这时不是为每一个像素,而是为两个或四个像素(2或4步幅)来应用卷积内核,这样将产生更少的输出数据。这个技巧通常用于输入层中,因为这一层最消耗内存。2、引入一个1*1的卷积内核层,从而降低所需的深度。例如,64*64*256的输入可通过96个1*1颗粒减少到64*64*96的输入。GET:直接...原创 2018-07-26 11:59:28 · 162 阅读 · 0 评论 -
【Tensorflow】softmax_cross_entropy_with_logits_v2函数的区别
tf.nn.softmax_cross_entropy_with_logits(记为f1) 和tf.nn.sparse_softmax_cross_entropy_with_logits(记为f3),以及tf.nn.softmax_cross_entropy_with_logits_v2(记为f2) 之间的区别。f1和f3对于参数logits的要求都是一样的,即未经处理的,直接由神经网络输出的...转载 2018-08-12 10:27:38 · 881 阅读 · 0 评论 -
【Tensorflow】op的理解和自定义损失函数
tensorflow中的基本概念本文是在阅读官方文档后的一些个人理解。官方文档地址:https://www.tensorflow.org/versions/r0.12/get_started/basic_usage.html#basic-usage关于tensor和op的理解Nodes in the graph are called ops (short for operation...原创 2018-08-15 20:12:42 · 3314 阅读 · 0 评论 -
【Tensorflow】Fine-tuning
讲模型保存的:https://cv-tricks.com/tensorflow-tutorial/save-restore-tensorflow-models-quick-complete-tutorial/fine-tuning使用已经预训练好的模型,自己fine-tuning。1、首先获得pre-traing的graph结构,saver = tf.train.import_meta...转载 2018-08-19 14:18:11 · 402 阅读 · 0 评论 -
【Tensorflow】使用点记录/reshape的用法
summary---在训练过程中,主要用到了tf.summary()的各类方法,能够保存训练过程以及参数分布图并在tensorboard显示。如果不用tensorboard,可以不用这个。(小白目前也并没有发现tensorboard有什么特别的好处)https://www.cnblogs.com/lyc-seu/p/8647792.htmltf.ConfigProto一般用在创建s...原创 2018-08-22 14:54:51 · 504 阅读 · 0 评论 -
【Tensorflow】动态双向RNN的输出问题
tf.nn.bidirectional_dynamic_rnn()函数:def bidirectional_dynamic_rnn( cell_fw, # 前向RNN cell_bw, # 后向RNN inputs, # 输入 sequence_length=None,# 输入序列的实际长度(可选,默认为输入序列的最大长度) initial_sta...原创 2018-08-21 11:57:50 · 2380 阅读 · 2 评论 -
【Tensorflow】卷积中same和vaild的区别
same和vaild的区别?same是做填充,valid是舍去。用tensorflow/keras写一个原创 2019-02-21 20:30:39 · 1854 阅读 · 0 评论 -
【Tensorflow】相关复习
用tensorflow实现线性回归,主要考察的是一个tf的一个实现思路。(贝壳) import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt#使用numpy生成200个随机点x_data=np.linspace(-0.5,0.5,200)[:,np.newaxis]noise=np.rand...原创 2019-02-27 15:43:44 · 4988 阅读 · 3 评论 -
【Tensorflow】有关于tensor的shape
最近改结构,但是因为不熟练的缘故,所以不能很快的找到axis,用一下代码检测所选的方向是否正确。import numpy as npimport tensorflow as tfimport warningswarnings.filterwarnings('ignore')a = np.reshape(range(48),(4,6,2))print("ori",a)sess...原创 2019-08-22 11:55:11 · 570 阅读 · 0 评论 -
【Tensorflow】基本概念复习
TensorFlow 中的几个关键概念:Tensor,Operation,Graph,Session前言:TensorFlow是一种符号式编程框架,首先要构造一个图(graph),然后在这个图上做运算。打个比方,graph就像一条生产线,session就像生产者(人)。生产线具有一系列的加工步骤(加减乘除等运算),生产者把原料投进去,就能得到产品。不同生产者都可以使用这条生产线,只要他们的加...原创 2019-04-03 21:27:02 · 389 阅读 · 0 评论 -
【深度学习】初始化参数
TensorFlow的过程中初始化参数的时候要注意哪些?感觉这道题就是问“神经网络参数初始化需要注意哪些问题”观察sigmoid的函数其输出值在0-1之间,而x过大时,激活函数会变得很平缓,也就是斜率很小,这样不利于学习新的权重。观察上面计算更新权重值的表达式,权重的更新取决于激活函数的梯度,梯度太小限制神经网络的学习能力,也就是所谓的饱和神经网络。因此我们不应该让输入值太...原创 2019-04-05 19:33:11 · 467 阅读 · 0 评论 -
【Tensorflow】指定GPU训练
以下假设使用第3块GPU训练1.在代码中添加第一种方法:tf.device(‘/gpu:2’)第二种方法:import osos.environ[‘CUDA_VISIBLE_DEVICES’]=’2’如果要指定1,3块GPU来训练,则:os.environ[‘CUDA_VISIBLE_DEVICES’]=’0,2’2.在命令中添加CUDA_VI...原创 2019-04-19 16:57:41 · 15684 阅读 · 0 评论