深度学习
虽千万人 吾往矣
这个作者很懒,什么都没留下…
展开
-
改变Jupyter notebook的Tensorflow版本(以Anaconda虚拟环境方式为例)
有多个版本的Tensorflow,不同版本的Tensorflow通过Anaconda虚拟环境划分切换到虚拟环境查看所有可用的虚拟环境conda env list在终端中执行命令切换到虚拟环境中(tensorbase为虚拟环境名)activate tensorbase下载Jupyterpip install jupyter启动jupyter notebook就可以使用多个版本的Tensorflow每次使用这个版本的Tensorflow切换到虚拟环境中...原创 2021-02-08 08:18:02 · 467 阅读 · 0 评论 -
通过Anaconda虚拟环境安装Tensorflow
需要多个版本的Tensorflow,使用Anaconda虚拟环境可以巧妙的解决这个问题查看conda的版本号,检查是否安装好Anacondaconda --version创建Anacoda虚拟环境(名字为tensorbase,python版本为3.6)conda create -n tensorbase python=3.6查看所有可用的虚拟环境conda env list在终端中执行命令切换到新创建的虚拟环境中activate tensorbase更换为国内镜像,加快下载速度p原创 2021-02-08 01:23:34 · 310 阅读 · 1 评论 -
CondaHTTPError HTTP 404 NOT FOUND for url httpsmirrors
使用清华镜像遇到网络问题,恢复默认下载源conda config --remove-key channels # 恢复默认下载源原创 2021-02-08 01:18:49 · 261 阅读 · 0 评论 -
Tensorflow模型保存
保存整个模型此方法保存以下所有内容:1.权重值 2.模型配置(架构) 3.优化器配置整个模型可以保存到一个文件中,其中包含权重值、模型配置乃至优化器配置。这样,您就可以为模型设置检查点,并稍后从完全相同的状态继续训练,而无需访问原始代码。在 Keras 中保存完全可正常使用的模型非常有用,您可以在 TensorFlow.js 中加载它们,然后在网络浏览器中训练和运行它们。Keras 使用 HDF5 标准提供基本的保存格式。模型保存model.save('less_model.h5')模型加载原创 2021-01-25 13:22:47 · 1099 阅读 · 0 评论 -
Tensorflow多输出模型
数据集from tensorflow import kerasimport tensorflow as tfimport matplotlib.pyplot as pltimport numpy as npimport IPython.display as displayimport randomimport pathlibdata_dir = '../input/multi-output-model-dataset/multi-output-classification/dataset'原创 2021-01-25 01:50:30 · 194 阅读 · 0 评论 -
迁移学习(使用预训练网络)
预训练网络预训练网络是一个保存好的之前已在大型数据集(大规模图像分类任务)上训练好的卷积神经网络。如果这个原始数据集足够大且足够通用,那么预训练网络学到的特征的空间层次结构可以作为有效的提取视觉世界特征的模型。即使新问题和新任务与原始任务完全不同学习到的特征在不同问题之间是可移植的,这也是深度学习与浅层学习方法的一个重要优势。它使得深度学习对于小数据问题非常的有效。Keras内置预训练网络Keras库中包含VGG16、VGG19、ResNet50、Inception v3、Xception等经典的模原创 2021-01-24 18:18:18 · 1073 阅读 · 0 评论 -
tf.nn、tf.layers、tf.contrib模块的区别
tf.nn、tf.layers、tf.contrib块有很多功能是重复的,在使用时需要根据需要选择不同的模块,有时可以混用。区别tf.nn:提供神经网络相关操作的支持tf.layers:主要提供的高层的神经网络,主要和卷积相关的,高层次封装的APItf.contrib:tf.contrib.layers提供的高层的神经网络操作,但是tf.contrib不稳定,有可能API会改变,一般不推荐使用...原创 2021-01-24 17:44:54 · 272 阅读 · 0 评论 -
Tensorflow直接导入Mnist手写字数据集出错
from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets("MNIST_data/", one_hot=True)API变动,可以直接去官网下载原创 2021-01-24 12:50:07 · 172 阅读 · 0 评论 -
使用seaborn的pairplot方法绘制数据特征间的关系
绘制时需要引入matplotlib,使用其show方法显示import pandas as pdimport seaborn as snsimport matplotlib.pyplot as plt# 读取数据并以此命名为花萼长度e_cd、花萼宽度e_kd、花瓣长度b_cd、花瓣宽度b_kd、分类结果catdata = pd.read_csv('../../dataset/iris.data', names=['e_cd', 'e_kd', 'b_cd', 'b_kd', 'cat'])sn原创 2021-01-24 09:46:05 · 475 阅读 · 0 评论 -
多分类问题以IRIS数据集为例
import numpy as npimport matplotlib.pyplot as pltimport pandas as pddata_x = np.linspace(0,10,30)data_y = data_x*3 + 7 + np.random.normal(0,1,30)plt.scatter(data_x,data_y)w = tf.Variable(1.,name = 'weights')b = tf.Variable(0., name = 'weights')原创 2021-01-24 10:35:28 · 340 阅读 · 0 评论 -
机器学习基础之对数几率回归(泰坦尼克号数据集)
import pandas as pdimport numpy as npimport tensorflow as tfdata = pd.read_csv('./tt/train.csv')print(data.columns)data = data[['Survived', 'Pclass','Sex', 'Age', 'SibSp','Parch', 'Fare', 'Embarked']]data = data.fillna(0)data['Sex'] = pd.factorize(d原创 2021-01-23 23:57:46 · 245 阅读 · 0 评论 -
机器学习基础之线性回归模型
import numpy as npimport matplotlib.pyplot as pltimport pandas as pddata_x = np.linspace(0,10,30)data_y = data_x*3 + 7 + np.random.normal(0,1,30)plt.scatter(data_x,data_y)w = tf.Variable(1.,name = 'weights')b = tf.Variable(0., name = 'weights')原创 2021-01-23 23:53:58 · 109 阅读 · 0 评论 -
深度学习Tensorboard可视化
TensorBoard是一款为了更方便 TensorFlow 程序的理解、调试与优化发布的可视化工具。你可以用 TensorBoard 来展现你的 TensorFlow 图像,绘制图像生成的定量指标图以及附加数据。TensorBoard 通过读取 TensorFlow 的事件文件来运行。TensorFlow 的事件文件包括了你会在 TensorFlow 运行中涉及到的主要数据。Tensorboard随着tensorflow的安装一并被安装好。通过 tf.keras 回调函数使用tensorboard.原创 2021-01-22 13:31:26 · 258 阅读 · 1 评论 -
执行tensorboard --logdir logs命令因为命令行没有对应的tensorboard导致无法运行
Tensorboard随着tensorflow的安装一并被安装好。因为电脑有很多的python环境,而项目的python环境与命令行下的pyton环境不同,导致在命令行下执行tensorboard --logdir logs命令解决方法pip install tensorboard直接下载即可报错截图在kaggle上使用tensorboard也不能正常打开,但是kaggle即使打开使用体验也不好就不解决了...原创 2021-01-22 11:50:36 · 1029 阅读 · 0 评论 -
如何在kaggle保存运行文件
kaggle读取数据集文件时需要添加/kaggle/input/deg==原创 2021-01-22 11:20:59 · 6921 阅读 · 2 评论 -
Tensorflow自定义模型
数据集下载github百度网盘-提取码:0000import gzipimport numpy as npimport tensorflow as tfdef get_data(): # 文件获取 train_image = r"../../dataset/fashion-mnist/train-images-idx3-ubyte.gz" test_image = r"../../dataset/fashion-mnist/t10k-images-idx3-ubyt原创 2021-01-23 23:34:21 · 253 阅读 · 0 评论 -
tf.keras.losses下的SparseCategoricalCrossentropy和sparse_categorical_crossentropy区别
sparse_categorical_crossentropy:需要把正确和错误的结果以参数的形式填进去SparseCategoricalCrossentropy:可以调用法,通过调用激活一般使用SparseCategoricalCrossentropy方法原创 2021-01-22 09:18:19 · 1119 阅读 · 0 评论 -
深度学习Eager模式
Eager模式简介TensorFlow的eager模式是一个命令式编程环境,它使得我们可以立即评估操作产生的结果,而无需构建计算图。Eager模式极大的方便我们使用TensorFlow、调试模型,增加了网络调试的灵活程度和tensorflow对于初学者友好性。Eager模式提供了一个灵活的研究和实验机器学习平台,提供:直观的界面 - 自然地构建代码并使用Python数据结构。快速迭代小型模型和小型数据。更容易调试 -在交互式环境中直接检查、运行模型、测试变化。这个过程中代码会即时错误报告。自然控制流 -原创 2021-01-21 19:45:43 · 1132 阅读 · 1 评论 -
深度学习批标准化
什么是标准化传统机器学习中标准化也叫做归一化,一般是将数据映射到指定的范围,用于去除不同维度数据的量纲以及量纲单位。数据标准化让机器学习模型看到的不同样本彼此之间更加相似,这有助于模型的学习与对新数据的泛化。常见的数据标准化形式:标准化和归一化,将数据减去其平均值使其中心为 0,然后将数据除以其标准差使其标准差为 1。什么是批标准化Batch Normalization, 批标准化, 和普通的数据标准化类似, 是将分散的数据统一的一种做法, 也是优化神经网络的一种方法。批标准化不仅在将数据输入模型之前原创 2021-01-21 12:09:45 · 233 阅读 · 0 评论 -
深度学习卫星图像分类
from tensorflow import kerasimport matplotlib.pyplot as pltimport numpy as npimport tensorflow as tfimport randomimport globdef load_img(path): # 通过tensorflow的read_file读取二进制文件 img_raw = tf.io.read_file(all_image_path[3]) # 对二进制图片进行解码原创 2021-01-21 12:01:50 · 469 阅读 · 1 评论 -
深度学习卷积神经网络CNN
卷积神经网络主要应用于计算机视觉相关任务,但它能处理的任务并不局限于图像,其实语音识别也是可以使用卷积神经网络。为什叫卷积神经网络CNN 的确是从视觉皮层的生物学上获得启发的。简单来说:视觉皮层有小部分细胞对特定部分的视觉区域敏感。例如:一些神经元只对垂直边缘兴奋,另一些对水平或对角边缘兴奋。CNN 工作概述CNN 工作概述指的是你挑一张图像,让它历经一系列卷积层、非线性层、池化(下采样(downsampling))层和全连接层,最终得到输出。正如之前所说,输出可以是最好地描述了图像内容的一个单独分原创 2021-01-20 23:07:34 · 244 阅读 · 0 评论 -
Dropout抑制过拟合
(1)取平均的作用: 先回到标准的模型即没有dropout,我们用相同的训练数据去训练5个不同的神经网络,一般会得到5个不同的结果,此时我们可以采用 “5个结果取均值”或者“多数取胜的投票策略”去决定最终结果。(2)减少神经元之间复杂的共适应关系: 因为dropout程序导致两个神经元不一定每次都在一个dropout网络中出现。这样权值的更新不再依赖于有固定关系的隐含节点的共同作用,阻止了某些特征仅仅在其它特定特征下才有效果的情况 。(3)Dropout类似于性别在生物进化中的角色:物种为了生存往往会.原创 2021-01-20 17:48:14 · 183 阅读 · 0 评论 -
深度学习网络优化与超参数选择
过拟合:在训练数据上得分很高,在测试数据上得分相对比较低欠拟合:在训练数据上得分很低,在测试数据上得分相对比较低网络容量与网络中的可训练参数成正比。网络中的神经单元数越多,层数越多,神经网络的拟合能力越强。但是训练速度、难度越大,越容易产生过拟合。如何选择超参数所谓超参数,也就是搭建神经网络中,需要我们自己如选择(不是通过梯度下降算法去优化)的那些参数。比如,中间层的神经元个数、学习速率。如何提高网络的拟合能力一种显然的想法是增大网络容量:1.增加层2.增加隐藏神经元个数单纯的增加神经元原创 2021-01-20 17:44:46 · 392 阅读 · 0 评论 -
深度学习常见优化函数
优化器 (optimizer) 是编译模型的所需的两个参数之一。你可以先实例化一个优化器对象,然后将它传入model.compile(),或者你可以通过名称来调用优化器。在后一种情况下,将使用优化器的默认参数。SGD:随机梯度下降优化器随机梯度下降优化器SGD和min-batch是同一个意思,抽取m个小批量(独立同分布)样本,通过计算他们平梯度均值。lr: float >= 0. 学习率。momentum: float >= 0. 参数,用于加速 SGD 在相关方向上前进,并抑制震荡。原创 2021-01-20 15:56:46 · 706 阅读 · 0 评论 -
独热编码与顺序编码分别实现Softmax多分类
参考文章对于多分类问题我们使用以下两种损失函数(在model.compile 方法中改写参数 loss)当标签类别使用独热编码时,使用 loss = 'categorical_crossentropy’计算softmax交叉熵当标签类别使用顺序编码时,使用 loss = 'sparse_categorical_crossentropy’计算softmax交叉熵顺序编码时实现softmax多分类import gzipimport numpy as npimport tensorflow as原创 2021-01-20 13:03:51 · 647 阅读 · 0 评论 -
逻辑回归实现
import matplotlib.pyplot as pltimport pandas as pdimport tensorflow as tf# 没有头部数据,header=Nonedata = pd.read_csv('../../dataset/credit-a.csv', header=None)# 查看头部数据# print(data.head())# 查看目标列值# print(data.iloc[:, -1].value_counts())x = data.iloc原创 2021-01-20 12:08:35 · 99 阅读 · 0 评论 -
pycharm格式化代码快捷键
ctrl+alt+L原创 2021-01-20 11:41:02 · 377 阅读 · 0 评论 -
多层感知器实现代码
import pandas as pdimport matplotlib.pyplot as pltimport tensorflow as tf# 读取数据集data = pd.read_csv("../../dataset/Advertising.csv")# 读取前五行数据# print(data.head())# 特征值散点图# plt.scatter(data.TV, data.sales)# 图显示# plt.show()# 取所有行的第二列到倒数第二列所有数据x原创 2021-01-20 11:21:58 · 185 阅读 · 0 评论 -
四种常见激活函数
原文 1、relu函数Relu激活函数的解析式Relu函数及其导数的图像如下图所示:Relu激活函数优点:当输入 x<0 时,输出为 0,当 x> 0 时,输出为 x。该激活函数使网络更快速地收敛。它不会饱和,即它可以对抗梯度消失问题,至少在正区域(x> 0 时)可以这样,因此神经元至少在一半区域中不会把所有零进行反向传播。由于使用了简单的阈值化(thresholding),ReLU 计算效率很高。Relu激活函数缺点:(1)不以零为中心:和 Sigmoid 激活函数类似转载 2021-01-16 23:15:13 · 4775 阅读 · 0 评论 -
kf.keras实现线性回归
import tensorflow as tfimport pandas as pdimport matplotlib.pyplot as plt# 通过pands读取Income1数据集data = pd.read_csv('./dataset/Income1.csv')print(data)# 以Education为x轴,以Income为y轴绘制图plt.scatter(data.Education, data.Income)plt.show()x = data.Educatio原创 2021-01-16 20:44:45 · 111 阅读 · 0 评论 -
解决AttributeError: module ‘tensorflow‘ has no attribute ‘reset_default_graph‘问题
tensorflow版本问题将原创 2020-12-23 19:26:38 · 1402 阅读 · 0 评论 -
启动jupyter notebook方法
再cmd命令行执行下列命令打开jupyter notebook原创 2020-11-24 12:48:34 · 693 阅读 · 0 评论 -
SyntaxError: invalid syntax
语法错误,检查语法原创 2020-11-23 23:41:45 · 252 阅读 · 0 评论 -
如何使用kaggle上的数据集
我先在kaggle上传本地的数据集,但是一直上传失败,后来发现平台以后数据集,然后直接选择数据集。如何获取数据集目录原创 2020-11-23 21:51:45 · 6317 阅读 · 0 评论 -
Pycharm使用plt.imshow无法显示图片
使用plt.imshow一直等待显示图片,但是一直没有显示出来,后来发现需要后面需要添加plt.show才能正常显示plt.imshow(image_path)plt.show()原创 2020-11-23 20:45:40 · 2351 阅读 · 0 评论 -
使用kaggle提供免费的GPU训练深度学习算法
kaggle官网1、创建登录账号2、创建NoteBook3、打开联网和使用GPUkaggle可以让初学者使用GPU39个小时,后面按周提供使用时间。注意:即使注册多个notebook,也只能有一个notebook使用GPU,所以想让其他的notebook使用GPU需要先设置上一个使用GPU的notebook设置为None...原创 2020-11-22 10:44:58 · 2239 阅读 · 0 评论 -
深度学习基础tf.keras(只有代码,自己学习保存代码)
线性回归# -*-coding= utf-8 -*-import tensorflow as tfimport pandas as pdimport matplotlib.pyplot as pltdata = pd.read_csv('./package/Income1.csv')print(data)plt.scatter(data.Education,data.Income)plt.show()Income1.csv数据"","Education","Income""1",10原创 2020-11-21 19:38:20 · 140 阅读 · 0 评论 -
Tensorflow的数据输入模块tf.data模块
通过列表创建dataset# -*-coding= utf-8 -*-import tensorflow as tfdataset = tf.data.Dataset.from_tensor_slices([[1, 2], [4, 5], [6, 7]])for ele in dataset: print(ele.numpy())print(dataset)通过字典创建dataset# -*-coding= utf-8 -*-import tensorflow as tfda原创 2020-11-21 08:32:04 · 392 阅读 · 0 评论