
深度学习入门
文章平均质量分 58
老秦子弟
这个作者很懒,什么都没留下…
展开
-
Keras中遇到Keyerror ‘acc‘ KeyError: ‘val_acc‘解决方法
出现错误原因:在使用keras时候报错Keyerror ‘acc’,这是一个keras版本问题**解决办法:**打印history关键字print(history.history.keys())按照dict_keys([‘val_loss’, ‘val_binary_accuracy’, ‘loss’, ‘binary_accuracy’])修改即可。...原创 2021-03-12 20:43:26 · 1256 阅读 · 0 评论 -
Keras跑完程序释放显存的办法
代码环境 : tf1.14.0+ keras2.2.5用Keras跑了MNIST代码之后,又跑其他程序总是容易显存不够用。从网上找到下面的方法,亲测可用。方法1 先安装numba库:pip install numba2 使用如下代码即可from numba import cudacuda.select_device(0)cuda.close()3注意下面的方法不好使。亲测不好使from keras import backend as KK.clear_session()原因原创 2021-03-12 20:18:23 · 4826 阅读 · 4 评论 -
如何画神经网络模型图
网络上确实有很多画神经网络图的方法,我是一个初学者,仅仅只有一点Python基础,下面记录一下我自己第一次画神经网络结构图的方法和踩过的坑。我的办法按照网上各路大神提供的资料,我首先 尝试了graphviz,但是在安装成功后,尝试了网上的一个现成的代码。digraph G { rankdir=LR splines=line nodesep=.05; node [label=""]; subgraph cluster_0 { color=white; node [style=soli原创 2021-01-13 17:05:18 · 13074 阅读 · 3 评论 -
深度学习训练过程中loss出现nan的原因及可采取的方法
在pytorch训练过程中出现loss=nan的情况,梯度爆炸。可采取的办法:1.学习率太高。2.loss函数3.对于回归问题,可能出现了除0 的计算,加一个很小的余项可能可以解决,比如log(x + 微小量),避免无穷大。4.数据本身,是否存在Nan,可以用numpy.any(numpy.isnan(x))检查一下input和target5.target本身应该是能够被loss函数计算的,比如sigmoid激活函数的target应该大于0,同样的需要检查数据集今天遇到这个问题的时候,修稿了学转载 2021-01-02 21:36:52 · 4155 阅读 · 0 评论 -
错误总结:BrokenPipeError: [Errno 32] Broken pipe
BrokenPipeError: [Errno 32] Broken pipe qq_33666011 2018-08-20 16:20:18 ...转载 2021-01-02 21:28:55 · 1109 阅读 · 0 评论 -
同时安装pytorch和TensorFlow等多种深度学习开发环境(2)
同时安装pytorch和TensorFlow等多种深度学习开发环境(1)在前一篇博文里面,因为cuda版本问题,只创建一个环境安装了pytorch。并没有安装tensorflow。CUDA版本问题解决之前的pytorch是使用CUDA11.0,目前对于TensorFlow大都都是CUDA10.2以及以下。重现卸载CUDA11.0也是一个麻烦事情。解决办法同时安装多个CUDA版本。在原有CUDA11.0的基础上,安装了CUDA需要的CUDA10.0,CUDA10.0下载链接,我当时也是试一试,没想到最原创 2021-01-02 21:21:48 · 6390 阅读 · 2 评论 -
同时安装pytorch和TensorFlow等多种深度学习开发环境(1)
现在的开发环境比较多,在学习的过程中,经常会使用到不同的开发环境,最常用的就是TensorFlow和pytorch,以及其他的开发环境,我在学习的过程中使用的开发环境主要有pytorch和TensorFlow两种。今天我从百度中学习如何安装多种深度学习开发环境。查看Python环境的方法conda info --env:可以看到所有python环境,前面有个‘*’的代表当前环境1.创建pytorch开发环境...原创 2021-01-02 17:12:48 · 8299 阅读 · 6 评论 -
标量函数对向量求导的python代码实现
假设标量函数为 f(x0,x1) = x0 **2 + x1 **2这里采用的是数值微分,不是精确地解析微分,但是准确率也不差。直接上源代码import numpy as npdef function_2(x): # x数组中只有两个数,假设标量函数为 f(x0,x1) = x0 **2 + x1 **2 return x[0]**2 + x[1]**2def numerical_gradient(f,x): # f 是一个函数,这里将要使用的就是上面定义的二元函数原创 2020-12-17 17:37:08 · 758 阅读 · 0 评论 -
用VGG19模型跑CIFAR10的过程与总结
CIFAR10的源代码遇到的问题结果1.源代码废话不多说,直接上源代码。源代码是网上一位大神写的,原文源代码链接。import torchimport torch.nn as nnimport torch.nn.functional as Fimport torchvisionimport torchvision.datasets as dsetimport torchvision.models as modelsimport torch.optim as optimimport t原创 2020-12-02 19:13:50 · 1961 阅读 · 0 评论 -
彻底搞明白梯度下降算法1:方向导数与梯度概念理解
彻底弄明白梯度下降算法1.方向导数与梯度第一要明确一点:二元函数 Z = f(x,y) 的图像是一个三维空间的曲面,如下图:每一座大山的表面可以看成是一个三维空间的曲面刚好可以对应一个特定的二元函数,注意这里说的是大山的表面,之所以用大山来举例子,是为了方面下面说明梯度下降算法。梯度和方向导数紧密相关,让我们从方向导数开始。方向导数:顾名思义,方向导数就是某个方向上的导数。那么这里说的方向是什么?下面用图片结合文字来说明:函数f(x,y) 在这个方向上的图像为下图所示:我们知道在一元函原创 2020-12-02 16:25:17 · 2928 阅读 · 0 评论