Python大战人工智能
文章平均质量分 90
深度学习方兴未艾,学习的人越来越多,但是深度学习可不是简单的调调参数就好了,或许TensorFlow或者TensorLayer, TFLearn 可以让很多人轻松地学会一些AI的编程,但是DL的永远都是数学和计算机的结合.那么还是让我们从工程出发,一起去探索新世界吧.
Font Tian
某公司山东分公司研发中心主管。目前主要工作为ABC融合,主要业余目标为发论文,玩开源。
展开
-
PyTorch中常用的工具(5)使用GPU加速:CUDA
在训练神经网络的过程中需要用到很多的工具,最重要的是数据处理、可视化和GPU加速。本章主要介绍PyTorch在这些方面常用的工具模块,合理使用这些工具可以极大地提高编程效率。由于内容较多,本文分成了五篇文章(1)数据处理(2)预训练模型(3)TensorBoard(4)Visdom(5)CUDA与小结。1 数据处理2 预训练模型3 可视化工具3.2 Visdom4 使用GPU加速:CUDA5 小结。原创 2024-01-01 00:03:00 · 1566 阅读 · 0 评论 -
PyTorch中常用的工具(4)Visdom
在训练神经网络的过程中需要用到很多的工具,最重要的是数据处理、可视化和GPU加速。本章主要介绍PyTorch在这些方面常用的工具模块,合理使用这些工具可以极大地提高编程效率。由于内容较多,本文分成了五篇文章(1)数据处理(2)预训练模型(3)TensorBoard(4)Visdom(5)CUDA与小结。1 数据处理2 预训练模型3 可视化工具3.2 Visdom4 使用GPU加速:CUDA5 小结。原创 2024-01-01 00:01:40 · 1239 阅读 · 0 评论 -
PyTorch中常用的工具(3)TensorBoard
在训练神经网络的过程中需要用到很多的工具,最重要的是数据处理、可视化和GPU加速。本章主要介绍PyTorch在这些方面常用的工具模块,合理使用这些工具可以极大地提高编程效率。由于内容较多,本文分成了五篇文章(1)数据处理(2)预训练模型(3)TensorBoard(4)Visdom(5)CUDA与小结。1 数据处理2 预训练模型3 可视化工具3.2 Visdom4 使用GPU加速:CUDA5 小结PyTorch中常用的工具(1)数据处理PyTorch常用工具(2)预训练模型。原创 2024-01-01 00:00:24 · 751 阅读 · 0 评论 -
PyTorch常用工具(2)预训练模型
在训练神经网络的过程中需要用到很多的工具,最重要的是数据处理、可视化和GPU加速。本章主要介绍PyTorch在这些方面常用的工具模块,合理使用这些工具可以极大地提高编程效率。由于内容较多,本文分成了五篇文章(1)数据处理(2)预训练模型(3)TensorBoard(4)Visdom(5)CUDA与小结。1 数据处理2 预训练模型3 可视化工具3.2 Visdom4 使用GPU加速:CUDA5 小结PyTorch中常用的工具(1)数据处理PyTorch常用工具(2)预训练模型。原创 2023-12-31 23:59:11 · 625 阅读 · 0 评论 -
PyTorch常用工具(1)数据处理
在训练神经网络的过程中需要用到很多的工具,最重要的是数据处理、可视化和GPU加速。本章主要介绍PyTorch在这些方面常用的工具模块,合理使用这些工具可以极大地提高编程效率。由于内容较多,本文分成了五篇文章(1)数据处理(2)预训练模型(3)TensorBoard(4)Visdom(5)CUDA与小结。1 数据处理2 预训练模型3 可视化工具3.2 Visdom4 使用GPU加速:CUDA5 小结PyTorch中常用的工具(1)数据处理PyTorch常用工具(2)预训练模型。原创 2023-12-31 23:57:14 · 1341 阅读 · 0 评论 -
自动化机器学习(三)神经网络架构搜索综述(NAS)简述
自动化机器学习就是能够自动建立机器学习模型的方法,其主要包含三个方面:方面一,超参数优化;方面二,自动特征工程与机器学习算法自动选择;方面三,神经网络结构搜索。本文侧重于方面三,神级网络结构搜索。自动化机器学习的前两个部分,都有一个特点——只对现在已有的算法进行搜索,而不创造新的算法。一般而言机器学习专家在开发机器学习应用或者构建机器学习模型时,都不太可能从头造轮子,直接创造一个新的算法。但是到了深度神经网路的时候,就发生了一些变化。严格意义上来说,神经网络的基本结构都是固定的,有限的。原创 2020-08-20 16:15:56 · 4132 阅读 · 2 评论 -
opencv快速入门人脸检测与人脸识别
利用opencv快速入门人脸检测与人脸识别opencv,顾名思义“开源,计算机视觉”。OpenCV就是这样的一个特殊的框架,一群大牛然绕自己的时间,制作了一个开源的计算机视觉框架。借助它我们可以快速的创建计算机视觉的应用。而我们这里将会使用更更加快速的OpenCV-Python,也就是OpenCV的Python接口。假如你已经安装了Python和pip,那么只需简单的执行“pip install opencv-python”即可。原创 2020-04-04 19:06:16 · 14811 阅读 · 3 评论 -
Google提出的新型激活函数:Swish
简介Swish是Google在10月16号提出的一种新型激活函数,其原始公式为:f(x)=x * sigmod(x),变形Swish-B激活函数的公式则为f(x)=x * sigmod(b * x),其拥有不饱和,光滑,非单调性的特征,而Google在论文中的多项测试表明Swish以及Swish-B激活函数的性能即佳,在不同的数据集上都表现出了要优于当前最佳激活函数的性能.论文地址:htt...原创 2017-11-26 11:35:15 · 12644 阅读 · 2 评论 -
9.3 Trains and Evaluates the MNIST network using a feed dictionary
简介这部分代码来自tensorflow的源码,代码中的注释相当的详细,假如对于9.2 你已经比较详细,那么我建议您运行这份源码示例.他会给你很好的帮助. 这份代码主要展示了projector模块(当然你也可以结合9.2 进行扩展),其中的T-SNE以及PCA都是官方提供的可视化方案,很有意思.关键点argparse : python的一个类库python中的argparse模块fill_fee原创 2017-10-31 11:15:53 · 623 阅读 · 0 评论 -
9.2 mnist_with_summaries tensorboard 可视化展示
tensorboard tensorflow中的可视化组件在新版本的tensorflow 中tensorboard已经被整合,无需下载.其执行是利用了一个封装的内置服务器,性能不错. 我们可以将神经网络运行时的各类数据存储下来进行可视化展示,我首先展示其功能,然后再分解代码.本处例子源自tensorflow的官方源码,如果你需要了解更多,建议直接阅读官方文档展示最重要的网络结构的展示基本数据的展示原创 2017-10-23 22:25:24 · 1270 阅读 · 0 评论 -
9.1 mnist_softmax 交叉熵多分类器
softmax交叉熵多分类器具体含义不再解释,这是一个我们比较常用的一个多分类器.深度学习的一大优点就是特征的自动构建,也正是因为该优点,使得分类器层显得不再那么重要,在Tensorflow的官方源码中,softmax是很常见的一个多分类器.其调用也十分的简单.此处再此单独拿出来介绍,是为了下一步的学习做准备.使用方法 cross_entropy = tf.reduce_mean( t原创 2017-10-23 21:14:50 · 1323 阅读 · 0 评论 -
8.3 TensorFlow BP神经网络构建与超参数的选取
前言之前的8.1 构建回归模型的重点在于计算图概念,8.2则介绍一些在整个流程中更靠后的部分:损失函数,优化函数,以及一些其他常用的函数.而本片中的重点在于构建计算图,与模型的训练与测试BP代码与讲解设置数据之所以对第一次生成的随机数据进行存储主要是为了能够进行后面的超参数的选取# 生成与加载数据# 构造满足一元二次方程的函数def Build_Data(): Path_x_data =原创 2017-09-13 20:58:14 · 3016 阅读 · 0 评论 -
8.2 TensorFlow实现KNN与TensorFlow中的损失函数,优化函数
前言8.1 mnist_soft,TensorFlow构建回归模型中对主要对计算图的概念与公式与计算图的转化进行了介绍,8.2则主要介绍一下TensorFlow中自带的几个算子,与优化函数,损失函数的定义,并以KNN的例子进行整体的串联.加载数据,依旧使用mnist手写数字的数据# 导入数据from tensorflow.contrib.learn.python.learn.datasets im原创 2017-09-13 22:42:01 · 1443 阅读 · 0 评论 -
8.1 mnist_soft,TensorFlow构建回归模型
背景之前已经写了很多TensorFlow的基本知识,现在利用TensorFlow实现一些简单的功能,对原来的知识进行串联,并初步入门,该部分共包括三篇,分别实现的是回归模型,浅层神经网络,KNN。TensorFlow构建回归模型本代码的构建步骤建立公式的计算图损失函数与优化器加载数据启动会话,训练与测试建立计算图在TensorFlow中构建模型,我们首先需要实现的一个计算图,然后再在Ses原创 2017-09-07 22:20:25 · 927 阅读 · 0 评论 -
卷积神经网络(cnn)的体系结构
译者注内容有部分增加与补充,阅读原文请点击这里原作者的文章其实更利于读者对卷积本身的理解,但是实际上作者对卷积的现实意义的理解并没有解释的十分清楚,甚至可能不利于堵着的理解,也正因为如此我在翻译过程中可能对原文进行了比较大的改动,希望这对你有帮助.实际上上卷积神经网络是来自神经学的研究,其计算过程实际上模拟了视觉神经系统的运算过程.这一部分内容其翻阅其他文章....翻译 2017-08-10 21:49:01 · 5250 阅读 · 1 评论 -
7.3 TensorFlow笔记(基础篇):加载数据之从队列中读取
前言整体步骤在TensorFlow中进行模型训练时,在官网给出的三种读取方式,中最好的文件读取方式就是将利用队列进行文件读取,而且步骤有两步: 1. 把样本数据写入TFRecords二进制文件 2. 从队列中读取数据读取TFRecords文件步骤使用队列读取数TFRecords 文件 数据的步骤 1. 创建张量,从二进制文件读取一个样本数据 2. 创建张量,从二进制文件随机读取一个mi原创 2017-08-05 17:39:20 · 1778 阅读 · 3 评论 -
7.2 TensorFlow笔记(基础篇): 生成TFRecords文件
前言在TensorFlow中进行模型训练时,在官网给出的三种读取方式,中最好的文件读取方式就是将利用队列进行文件读取,而且步骤有两步: 1. 把样本数据写入TFRecords二进制文件 2. 从队列中读取TFRecords二进制文件,能够更好的利用内存,更方便的移动和复制,并且不需要单独的标记文件 下面官网给出的,对mnist文件进行操作的code,具体代码请参考:tensorflow-m原创 2017-08-05 17:18:50 · 2345 阅读 · 0 评论 -
7.1 TensorFlow笔记(基础篇):加载数据之预加载数据与填充数据
TensorFlow加载数据TensorFlow官方共给出三种加载数据的方式: 1. 预加载数据 2. 填充数据 预加载数据的缺点: 将数据直接嵌在数据流图中,当训练数据较大时,很消耗内存.填充的方式也有数据量大,消耗内存高的缺点,并且数据类型的转换等中间环节增加了不少开销(之前的笔记示例中主要使用的这两种方式).最好用第三种方法,在图中定义好文件读取的方法,让Tensorflow 自己从原创 2017-08-05 17:24:02 · 1611 阅读 · 0 评论 -
TypeError: Can not convert a float32 into a Tensor or Operation.
错误TypeError: Can not convert a float32 into a Tensor or Operation.# 类型错误:不能将一个浮动32转换为一个张量或操作。TypeError: Fetch argument 2.3025854 has invalid type <class 'numpy.float32'>, must be a string or Tensor. (原创 2017-08-09 21:03:55 · 14147 阅读 · 14 评论 -
Python中的argparse模块
简介argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。argparse模块的作用是用于解析命令行参数. 如果你想详细的了解它的功能.建议阅读这个,或者这个 本篇文章只对其基本功能进行介绍,并对TensorFlow的examples中argarse使用进行详细的介绍功能原本的功能是命令行解析模块使用argparse的第一步就是创建一个解析器对原创 2017-08-05 20:44:25 · 3039 阅读 · 1 评论 -
6.1 Tensorflow笔记(基础篇):队列与线程
前言在Tensorflow的实际应用中,队列与线程是必不可少,主要应用于数据的加载等,不同的情况下使用不同的队列,主线程与其他线程异步进行数据的训练与读取,所以队列与线程的知识也是Tensorflow必须要学会的重要知识 另一方面,Tensorflow作为符号编程框架,在构图后,加载数据有三种方式,预加载与填充数据都存在,数据量大消耗内存等情况的出现.使用第三种方式文件读取避免了前两者的缺点,但是原创 2017-08-04 21:49:40 · 3975 阅读 · 2 评论 -
5.2 TensorFlow:模型的加载,存储,实例
背景之前已经写过TensorFlow图与模型的加载与存储了,写的很详细,但是或闻有人没看懂,所以在附上一个关于模型加载与存储的例子,.其中模型很巧妙,比之前numpy写一大堆简单多了,这样有利于把主要注意力放在模型的加载与存储上.解析创建保存文件的类:saver = tf.train.Saver()saver = tf.train.Saver() ,即为常见保存模型原创 2017-08-12 13:06:24 · 5091 阅读 · 4 评论 -
5.1 Tensorflow:图与模型的加载与存储
前言自己学Tensorflow,现在看的书是《TensorFlow技术解析与实战》,不得不说这书前面的部分有点坑,后面的还不清楚.图与模型的加载写的不清楚,书上的代码还不能运行=- =,真是BI….咳咳.之后还是开始了查文档,翻博客的填坑之旅 ,以下为学习总结.快速应用存储与加载,简单示例# 一般而言我们是构建模型之后,session运行,但是这次不同之处在于我们是构件好之后存储了模型# 然后在原创 2017-08-04 12:12:51 · 4522 阅读 · 1 评论 -
4.2 Tensorflow笔记:池化函数
池化层的输入一般来源于上一个卷积层,主要作用是提供了很强的鲁棒性(例如max-pooling是取一小块区域中的最大值,此时若此区域中的其他值略有变化,或者图像稍有平移,pooling后的结果仍不变),并且减少了参数的数量,防止过拟合现象的发生,同时参数的减少对于计算而言也有一定的帮助。其中,input为输入,conv为卷积层,由卷积核构成,pool为池层,由池化函数构成最后是全连接层与输出层,其负责对卷积层提取的特征进行处理以获得我们需要的结果。。原创 2017-08-04 01:16:22 · 14663 阅读 · 5 评论 -
4.1 Tensorflow:卷积函数
[batch,in_height,in_width,in_channels],例如mnist中的输入图像为 28 * 28 的黑白图像,其张量即为[batch,28,28,1],1代表黑白,RGB彩色图像的通道则为3,而batch 则为输入的图像数量,一次输入10张图片时,其为10,20张时则为20。tf.nn.conv2d:对一个思维的输入数据 input 和四维的卷积核filter 进行操作,然后对输入的数据进行二维的卷积操作,得到卷积之后的结果,也是我们最常用的卷积函数。,则会缩小原图像的大小.原创 2017-08-04 01:12:27 · 23614 阅读 · 10 评论 -
3.1 Tensorflow: 批标准化(Batch Normalization)
批标准化(Batch Normalization )简称BN算法,是为了克服神经网络层数加深导致难以训练而诞生的一个算法。根据ICS理论,当训练集的样本数据和目标样本集分布不一致的时候,训练得到的模型无法很好的泛化。而在神经网络中,每一层的输入在经过层内操作之后必然会导致与原来对应的输入信号分布不同,并且前层神经网络的增加会被后面的神经网络不对的累积放大。原创 2017-08-04 01:19:49 · 21686 阅读 · 2 评论 -
2.1 name_scope 简单入门(一)
name_scope 等内容主要是用来可视化的,tensoeboardimport tensorflow as tfimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'with tf.variable_scope('foo'): with tf.name_scope('bar'): v = tf.get_variable('v'原创 2017-10-23 21:38:54 · 1059 阅读 · 0 评论 -
1.1 Tensorflow笔记(基础篇): 图与会话,变量
图与会话import tensorflow as tfimport os# 取消打印 cpu,gpu选择等的各种警告# 设置TF_CPP_MIN_LOG_LEVEL 的等级,1.1.0以后设置2后 只不显示警告,之前需要设置3,但设置3不利于调试os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'import time# 创建一个常量 op, 产生一个 1x2 矩原创 2017-08-03 23:11:54 · 1123 阅读 · 0 评论