2021-03-16

实参高阶函数和装饰器

1.函数的本质

python中定义函数其实就是在定义一个类型是function的变量,函数名就是变量(变量能做的函数都可以做)

2.变量的常用操作
# 1)
a = 10
x1 = a
print(x1, x1 + 10)

x2 = func1
x2()

# 2.1)
list1 = [a, 100]
print(list1, list1[0] * 10)

list1 = [func1, 100]
print(list1, list1[0]())
2.高阶函数

实参高阶函数 - 如果一个函数的参数是函数,那么这个函数就是实参高阶函数 (掌握怎么使用系统提供的实参高阶函数)
返回值高阶函数 - 如果一个函数的返回值是函数,那么这个函数就是返回值高阶函数(会写装饰器)

常用实参高阶函数:max、min、sorted、map、reduce
max和min、sorted

max(序列, key=函数)
sorted(序列, key=函数)
列表.sort(key=函数)
函数的要求:
a. 有且只有一个参数,这个参数指向的数前面序列中的每个元素
b. 需要一个返回值,返回值决定求最大值的时候比较的对象

求列表nums中十位数最大的元素:
nums = [28, 607, 65, 19, 85]
result = max(nums, key=lambda item: item // 10 % 10)
print(result)
2.map函数 - 将原序列中元素按照指定的标准进行变换,产生一个新的序列

1)map(函数, 序列)
函数的要求:
a.有且只有一个参数,这个参数指向的是后面这个序列每个元素
b.需要一个返回值,描述新序列中的元素和原序列中元素的关系

2)map(函数, 序列1, 序列2)
函数的要求:
a. 有且只有两个参数,这两个参数分别指向后面的两个序列中的元素
b. 需要一个返回值,描述新序列中的元素和原序列中元素的关系
map(函数, 序列1, 序列2, 序列3)

scores = [29, 89, 67, 56, 34, 90]
ages = [23, 30, 19, 24, 25, 23]
result = map(lambda item1, item2: {'score': item1, 'age': item2}, scores, ages)
print(list(result))

reduce函数 - 将序列中所有的元素通过指定的方式合并成一个数据
reduce(函数, 序列, 初始值)
函数的要求:
a. 有且只有两个参数:第一个第一次指向初始值,从第二次开始指向上一次的计算结果;第二个参数指向序列中的每个元素
b. 需要一个返回值,返回值用来描述合并规则

nums = [20, 34, 45, 10]
result = reduce(lambda x, item: x+item, nums, 0)
print(result)

 1. List item

2021-03-26 20:54:33,596 - Model - INFO - Epoch 1 (1/200): 2021-03-26 20:57:40,380 - Model - INFO - Train Instance Accuracy: 0.571037 2021-03-26 20:58:16,623 - Model - INFO - Test Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Best Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Save model... 2021-03-26 20:58:16,623 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 20:58:16,698 - Model - INFO - Epoch 2 (2/200): 2021-03-26 21:01:26,685 - Model - INFO - Train Instance Accuracy: 0.727947 2021-03-26 21:02:03,642 - Model - INFO - Test Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Best Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Save model... 2021-03-26 21:02:03,643 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 21:02:03,746 - Model - INFO - Epoch 3 (3/200): 2021-03-26 21:05:15,349 - Model - INFO - Train Instance Accuracy: 0.781606 2021-03-26 21:05:51,538 - Model - INFO - Test Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,538 - Model - INFO - Best Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,539 - Model - INFO - Save model... 2021-03-26 21:05:51,539 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 我有类似于这样的一段txt文件,请你帮我写一段代码来可视化这些训练结果
02-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值