用matplotlib绘制回归算法的损失函数

ValueError: ' upper center ' is not a valid value for loc; supported values are 'best', 'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'upper center', 'center'

 

 //这里原来我以为是upper center的问题,后面看错误提示的时候,将upper center改为center后就解决了错误。但后面发现,出现错误的原因是源代码的upper center的左右两边有空格,删掉就可以了,而不管是错误提示当中的哪一个都可以,区别就是表示框的位置不同。比如

upper right:

 upper left:

 

 

import tensorflow as tf
import matplotlib.pyplot as plt
x = tf.linspace(-1.0,1.0,500)
target = tf.constant(0.0)
l1_y = tf.abs(target - x)
l2_y = tf.square(target - x)
delta1 = tf.constant(.1)
phuber1_y = tf.multiply(tf.square(delta1),tf.sqrt(1.0 + tf.square((target - x)/delta1))-1.0)
delta2 = tf.constant(3.0)
phuber2_y = tf.multiply(tf.square(delta2), tf.sqrt(1.0 + tf.square((target - x)/delta2))-1.0) 
with tf.Session() as sess:
    x_array = sess.run(x)
    l1_y_output = sess.run(l1_y)
    l2_y_output = sess.run(l2_y)
    phuber1_y_output = sess.run(phuber1_y)
    phuber2_y_output = sess.run(phuber2_y)
    plt.plot(x_array, l1_y_output, "g:", label = "L1 Loss")
    plt.plot(x_array, l2_y_output, "r-", label = "L2 Loss")
    plt.plot(x_array, phuber1_y_output, "k--", label = "P-Huber  Loss(1.0)")
    plt.plot(x_array, phuber2_y_output,"b-.", label = "P-Huber Loss(5.0)")
    # 设置y轴刻度的范围,从0到1
    plt.ylim(0, 1) 
    #设置图例处于图标上部中心位置,字号为11
    plt.legend(loc = "center", prop = {"size": 11})
    # 输出图形
    plt.show()    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星河欲转。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值