首页 > TAG信息列表 > gradient-descent

python-损失函数作为几个点的最小值,自定义损失函数和梯度

我正在尝试预测金属线圈的质量.我有宽度为10米,长度为1至6公里的金属线圈.作为训练数据,我每10米测量约600个参数,以及最终质量控制标记-好/坏(对于整个线圈).不良表示至少有1个地方有线圈不良,没有数据准确地存在.我有大约10000个线圈的数据. 让我们想象一下,我们想为该数据训练逻

多元梯度下降的Java实现

我正在尝试在Java中实现多变量梯度下降算法(来自AI coursera课程),但是我无法弄清楚代码中的错误在哪里. 这是以下程序的输出: Before train: parameters := [0.0, 0.0, 0.0] -> cost function := 2.5021875E9 After first iteration: parameters := [378.5833333333333, 2.2141666

python – 为什么我们需要显式调用zero_grad()?

为什么我们需要在PyTorch中明确归零渐变?为什么在调用loss.backward()时不能将渐变归零?通过在图表上保持渐变并要求用户明确归零渐变来实现什么样的场景?解决方法:我们明确需要调用zero_grad(),因为在loss.backward()之后(当计算渐变时),我们需要使用optimizer.step()来进行渐变下降.

Tensorflow:如何在python中使用渐变来编写op?

我想在python中编写TensorFlow操作,但我希望它是可微分的(能够计算渐变). 这个问题询问如何在python中编写op,答案建议使用py_func(没有渐变):Tensorflow: Writing an Op in Python TF文档描述了如何仅从C代码开始添加操作:https://www.tensorflow.org/versions/r0.10/how_tos/adding

python – 如何在反向传播之前直接设置图层的渐变?

想象一下如下定义的微小网络,其中linear是一个典型的辅助函数,用于定义权重矩阵和激活函数的TensorFlow变量: final_layer = linear(linear(_input,10,tf.nn.tanh),20) 通常情况下,这将通过损失梯度下降进行优化: loss = tf.reduce_sum(tf.square(final_layer – _target)) train_s

python – 神经网络训练平稳的梯度下降

我一直在尝试在python中实现一个基本的back-propogation神经网络,并完成了初始化和训练权重集的编程.然而,在我训练的所有集合上,误差(均方)总是收敛到一个奇怪的数字 – 错误总是在进一步的迭代中减少,但从未真正接近零. 任何帮助将非常感激. import csv import numpy as np cla

python – tensorflow的AdamOptimizer和GradientDescentOptimizer无法适应简单的数据

类似的问题:Here 我正在尝试TensorFlow.我生成了可以线性分离的简单数据,并试图将线性方程拟合到它.这是代码. np.random.seed(2010) n = 300 x_data = np.random.random([n, 2]).tolist() y_data = [[1., 0.] if v[0]> 0.5 else [0., 1.] for v in x_data] x = tf.placeholder(tf

python – Spark mllib预测奇怪的数字或NaN

我是Apache Spark的新手,并尝试使用机器学习库来预测一些数据.我现在的数据集只有大约350个点.以下是其中的7个点: "365","4",41401.387,5330569 "364","3",51517.886,5946290 "363","2",55059.838,6097388 "362","1",43780.977,530469

为操作编写自定义基于Python的渐变函数? (没有C实施)

我正在尝试为’my_op’编写一个自定义渐变函数,为了示例,它只包含对tf.identity()的调用(理想情况下,它可以是任何图形). import tensorflow as tf from tensorflow.python.framework import function def my_op_grad(x): return [tf.sigmoid(x)] @function.Defun(a=tf.fl