如何解决 redis value 较大的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决 redis value 较大的问题相关的知识,希望对你有一定的参考价值。

参考技术A 你指的是String类型吧,在Redis中字符串类型的Value最多可以容纳的数据长度是512M

如何解决权重矩阵维度较大的张量流梯度问题?

【中文标题】如何解决权重矩阵维度较大的张量流梯度问题?【英文标题】:how to resolve tensorflow gradient issue with large weight matrix dimension? 【发布时间】:2017-05-29 07:22:18 【问题描述】:

我正在尝试使用 tf.gradient 通过传递损失来计算梯度,并使用梯度更新权重。我观察到当权重矩阵维度很大时梯度为零。这可能是什么原因?

我看到代码中没有错误。我得到具有较小权重矩阵和输入向量大小的非零梯度。通常对于 1*100 的输入向量大小和 100x50 的权重,FP 值将为 1 x 50。在 BP 期间,ip 将为 1 x 50,权重将为 50 x 100。BP 向量将为 1 x 100。

loss 是正向 (FP) 和反向传播 (BP) 值的差值之和。 FP 值是输入向量 (IP) - sigmoid(IP x weight) 和 BP 值 - sigmoid(FP x weight.Transpose)。

var_grad = tf.gradients(loss, [weight_matrix])[0]
update = tf.subtract(weight_matrix,(tf.mul(var_grad,0.1)))

我将TF图称为如下

result,cost,gradient = sess.run([update,loss,var_grad], feed_dict=weight_matrix: weight_mat)

前向传播值

w = tf.matmul(final,weight)
sig = tf.sigmoid(w)

损失计算为

for i in range(len(PopulatedList)):
    branch = PopulatedList[i]

    RC_FP = branch['RC_FP']
    RC_BP = branch['RC_BP']
    LC_FP = branch['RC_FP']
    LC_BP = branch['LC_BP']
    loss = tf.reduce_sum(tf.squared_difference(RC_FP_TF,RC_BP_TF),[0, 1]) + tf.reduce_sum(tf.squared_difference(LC_FP_TF,LC_BP_TF),[0, 1])

    out_error.append(loss)

error = tf.reduce_sum(out_error)
return error 

【问题讨论】:

【参考方案1】:

您的代码似乎没有任何问题,所以您看到的可能是您初始化权重的结果。

【讨论】:

以上是关于如何解决 redis value 较大的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何解决在Centos上面用yum不能安装redis

如何解决在centos上面用yum不能安装redis

如何解决redis高并发客户端频繁time out

Redis学习总结 -- 集群

redis主从复制数据延迟解决方案

如何解决高并发下的库存争抢问题?