文件命名时加入变量(例如loss,accuracy值区别epoch)

本文探讨了在Python中使用不同方法格式化字符串的有效技巧,包括使用.format()方法、f-string和传统的%操作符。通过实例展示了如何控制字符串的宽度和小数点后的位数,这对于在训练模型和记录结果时保持输出一致性尤为重要。

今天想要在训练的时候区分以下model,本以为和print输出字符串+变量的方法类似

print("loss:{}".format(loss))
graph.write_png('small_tree_accuracy{}.png'.format(accuracy))

因为想要控制格式%3d,但是失败了,
graph.write_png(‘small_tree_accuracy1+{accuracy:3d}+.png’)

貌似这会把变量当作字符串,,,,
但是想到c语言printf的格式,我是试了以下%对应的格式控制

graph.write_png('small_tree %3d.png' %accuracy )

效果还行,%3d控制了宽度为3,不过小数点保留两位咋写,貌似是%3.2f,望大佬告知

Epoch 1/100, Loss: 2.3002 Epoch 2/100, Loss: 2.3123 Epoch 3/100, Loss: 2.3011 Epoch 4/100, Loss: 2.3003 Epoch 5/100, Loss: 2.3112 Epoch 6/100, Loss: 2.2946 Epoch 7/100, Loss: 2.3166 Epoch 8/100, Loss: 2.3059 Epoch 9/100, Loss: 2.3019 Epoch 10/100, Loss: 2.2965 Epoch 11/100, Loss: 2.3008 Epoch 12/100, Loss: 2.2898 Epoch 13/100, Loss: 2.2929 Epoch 14/100, Loss: 2.3041 Epoch 15/100, Loss: 2.3064 Epoch 16/100, Loss: 2.3092 Epoch 17/100, Loss: 2.3025 Epoch 18/100, Loss: 2.2937 Epoch 19/100, Loss: 2.3180 Epoch 20/100, Loss: 2.3020 Epoch 21/100, Loss: 2.3014 Epoch 22/100, Loss: 2.2992 Epoch 23/100, Loss: 2.2998 Epoch 24/100, Loss: 2.3110 Epoch 25/100, Loss: 2.3079 Epoch 26/100, Loss: 2.2960 Epoch 27/100, Loss: 2.2950 Epoch 28/100, Loss: 2.3016 Epoch 29/100, Loss: 2.3003 Epoch 30/100, Loss: 2.3045 Epoch 31/100, Loss: 2.2979 Epoch 32/100, Loss: 2.2883 Epoch 33/100, Loss: 2.2950 Epoch 34/100, Loss: 2.3081 Epoch 35/100, Loss: 2.2903 Epoch 36/100, Loss: 2.2882 Epoch 37/100, Loss: 2.3086 Epoch 38/100, Loss: 2.3024 Epoch 39/100, Loss: 2.2875 Epoch 40/100, Loss: 2.2955 Epoch 41/100, Loss: 2.2923 Epoch 42/100, Loss: 2.2937 Epoch 43/100, Loss: 2.2817 Epoch 44/100, Loss: 2.2998 Epoch 45/100, Loss: 2.2871 Epoch 46/100, Loss: 2.2985 Epoch 47/100, Loss: 2.3055 Epoch 48/100, Loss: 2.3113 Epoch 49/100, Loss: 2.3136 Epoch 50/100, Loss: 2.2975 Epoch 51/100, Loss: 2.2948 Epoch 52/100, Loss: 2.2966 Epoch 53/100, Loss: 2.3053 Epoch 54/100, Loss: 2.2987 Epoch 55/100, Loss: 2.3014 Epoch 56/100, Loss: 2.3008 Epoch 57/100, Loss: 2.2970 Epoch 58/100, Loss: 2.2844 Epoch 59/100, Loss: 2.3035 Epoch 60/100, Loss: 2.2943 Epoch 61/100, Loss: 2.2893 Epoch 62/100, Loss: 2.3065 Epoch 63/100, Loss: 2.2968 Epoch 64/100, Loss: 2.2972 Epoch 65/100, Loss: 2.2965 Epoch 66/100, Loss: 2.3090 Epoch 67/100, Loss: 2.2935 Epoch 68/100, Loss: 2.2890 Epoch 69/100, Loss: 2.3008 Epoch 70/100, Loss: 2.3005 Epoch 71/100, Loss: 2.2891 Epoch 72/100, Loss: 2.3105 Epoch 73/100, Loss: 2.3061 Epoch 74/100, Loss: 2.2951 Epoch 75/100, Loss: 2.2963 Epoch 76/100, Loss: 2.3025 Epoch 77/100, Loss: 2.3000 Epoch 78/100, Loss: 2.2995 Epoch 79/100, Loss: 2.2883 Epoch 80/100, Loss: 2.2999 Epoch 81/100, Loss: 2.3020 Epoch 82/100, Loss: 2.2879 Epoch 83/100, Loss: 2.3041 Epoch 84/100, Loss: 2.3057 Epoch 85/100, Loss: 2.2907 Epoch 86/100, Loss: 2.3039 Epoch 87/100, Loss: 2.2888 Epoch 88/100, Loss: 2.2999 Epoch 89/100, Loss: 2.3098 Epoch 90/100, Loss: 2.3005 Epoch 91/100, Loss: 2.3165 Epoch 92/100, Loss: 2.3127 Epoch 93/100, Loss: 2.2971 Epoch 94/100, Loss: 2.2953 Epoch 95/100, Loss: 2.3099 Epoch 96/100, Loss: 2.3232 Epoch 97/100, Loss: 2.2814 Epoch 98/100, Loss: 2.2932 Epoch 99/100, Loss: 2.3031 Epoch 100/100, Loss: 2.3142 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-1-8428a47f3551> in <module> 116 117 # 测试模型 --> 118 y_pred = nn.predict(X_test) 119 accuracy = np.mean(y_pred == np.argmax(y_test, axis=1)) 120 print(f'Test Accuracy: {accuracy * 100:.2f}%') <ipython-input-1-8428a47f3551> in predict(self, X) 91 92 def predict(self, X): ---> 93 _, _, _, _, _, _, y_pred = self.forward(X) 94 return np.argmax(y_pred, axis=1) 95 ValueError: not enough values to unpack (expected 7, got 2)
最新发布
06-06
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值