作者简介:Nico Jimenez开发了Mathpix(https://mathpix.com),这种图形处理API每个月为全球各地的数百万用户处理 2000万个图像。他还开发了Losswise(https://losswise.com),他在Mathpix公司开发的这种内部机器学习监控和分析解决方案已向公众开放。
2024年07月22日
作者简介:Nico Jimenez开发了Mathpix(https://mathpix.com),这种图形处理API每个月为全球各地的数百万用户处理 2000万个图像。他还开发了Losswise(https://losswise.com),他在Mathpix公司开发的这种内部机器学习监控和分析解决方案已向公众开放。
2024年07月22日
tf.keras 的回调函数实际上是一个类,一般是在 model.fit 时作为参数指定,用于控制在训练过程开始或者在训练过程结束,在每个 epoch 训练开始或者训练结束,在每个 batch 训练开始或者训练结束时执行一些操作,例如收集一些日志信息,改变学习率等超参数,提前终止训练过程等等。同样地,针对 model.evaluate 或者 model.predict 也可以指定 callbacks 参数,用于控制在评估或预测开始或者结束时,在每个 batch 开始或者结束时执行一些操作,但这种用法相对少见。
2024年07月22日
tensorflow的graph示例
tensorflow作为一个基于图结构的深度学习框架,内部通过session实现图和计算内核的交互,那么这个图是什么样的结构,session的工作原理又是什么样的呢?我们通过几段代码来深入理解一下
2024年07月22日
使用TensorFlow v2库实现线性回归
此示例使用简单方法来更好地理解训练过程背后的所有机制
from __future__ import absolute_import, division, print_function import tensorflow as tf import numpy as np rng = np.random # 参数 learning_rate = 0.01 training_steps = 1000 display_step = 50 # 训练数据 X = np.array([3.3,4.4,5.5,6.71,6.93,4.168,9.779,6.182,7.59,2.167, 7.042,10.791,5.313,7.997,5.654,9.27,3.1]) Y = np.array([1.7,2.76,2.09,3.19,1.694,1.573,3.366,2.596,2.53,1.221, 2.827,3.465,1.65,2.904,2.42,2.94,1.3]) n_samples = X.shape[0] # 随机初始化权重,偏置 W = tf.Variable(rng.randn(),name="weight") b = tf.Variable(rng.randn(),name="bias") # 线性回归(Wx+b) def linear_regression(x): return W * x + b # 均方差 def mean_square(y_pred,y_true): return tf.reduce_sum(tf.pow(y_pred-y_true,2)) / (2 * n_samples) # 随机梯度下降优化器 optimizer = tf.optimizers.SGD(learning_rate) # 优化过程 def run_optimization(): # 将计算封装在GradientTape中以实现自动微分 with tf.GradientTape() as g: pred = linear_regression(X) loss = mean_square(pred,Y) # 计算梯度 gradients = g.gradient(loss,[W,b]) # 按gradients更新 W 和 b optimizer.apply_gradients(zip(gradients,[W,b])) # 针对给定训练步骤数开始训练 for step in range(1,training_steps + 1): # 运行优化以更新W和b值 run_optimization() if step % display_step == 0: pred = linear_regression(X) loss = mean_square(pred, Y) print("step: %i, loss: %f, W: %f, b: %f" % (step, loss, W.numpy(), b.numpy()))
2024年07月22日
本文翻译自: , 如有侵权请联系删除,仅限于学术交流,请勿商用。如有谬误,请联系指出。
和 Numpy 一样,为了使代码可读性更强,更容易绘制一个计算图,TensorFlow重载了很多python中的运算符。
2024年07月22日
最近比较空闲,刚好学习下Tensorflow和python,于是想写一个Tensorflow的小应用。
时间序列预测在预估企业营收,指标等方面使用的非常多。以前用R写过一个shiny的应用,就是用指数平滑、stl分解等方法做时间序列预测。RNN也是很早之前就接触过理论,是用来处理序列数据的利器。放一个普通RNN的示意图:
2024年07月22日
神经网络的输入、输出、权重都是张量,神经网络中的各种计算和变换就是对张量操作,张量这种数据结构是神经网络的基石,可以说没有理解张量就没有真正理解神经网络和人工智能。本文由浅入深地详细讲解分析张量,望能给予读者启发——袁宵。
张量的定义
张量(tensor)是一个多维数组(multidimensional arrays),即一种存储数字集合的数据结构,这些数字可通过索引(index)单独访问,并可通过多个索引进行索引。
2024年07月22日
print(x) 输出:Tensor("LinSpace:0", shape=(100,), dtype=float32)返回值是一个Tensor,不是数值,其中"LinSpace:0"是Tensor的名字,表示LinSpace空间的第0个输出!
2024年07月22日
?estimator是tensorflow高度封装的一个类,里面有一些可以直接使用的分类和回归模型,例如tf.estimator.DNNClassifier,但这不是这篇博客的主题,而是怎么使用estimator来实现我们自定义模型的训练。它的步骤主要分为以下几个部分:
2024年07月22日
在这一节里面,我们将带大家一起复习一下高等数学中的微分知识,同时向大家通过程序求微分的四种主要方法,使大家对自动微分在今后深度学习和人工智能中的重要性有一个感性的认识。
在程序中求导数和微分一般有四种方式:
1. 手动求微分:采用纯人工方式,与计算机无关,这种我们不进行讨论
2. 数值方法:这种方式利用导数的定义,直接求解微分值