python3 -tensorflow-dataset 之map函数 lambda隐函数的应用
###隐函数lanbda及map函数的应用实例
'''
lambda 参数1,参数2,参数3,...:表达式
'''
f = lambda x,y :x+y
print(f(1,2)) ###输出3
'''
map()接收一个函数f 和 一个Iterator(可迭代对象),并通过把函数f依次作用在Iterator的每一个元素上,并把结果做为新的Iterator返回
'''
a = [1,2,3]
b = map(lambda x:x*x ,a)
print(list(b)) ###输出[1,4,9] ##map 函数处理字典
c = {
'x':np.array([1,2,3]),
'y':[4,5,6]
}
##调用字典的key
d = map(lambda data:data*2,c)
print(list(d)) ##['xx', 'yy']
##调用字典的values
e = map(lambda data:data*2,c.values())
print(list(e)) ##[array([2, 4, 6]), [4, 5, 6, 4, 5, 6]] ##注意:列表*2重复一次,数组*2元素数字*2 def double(x):
return x*2
print(list(map(double,c))) ## ['xx', 'yy']
print(list(map(double,c.values()))) ##[array([2, 4, 6]), [4, 5, 6, 4, 5, 6]]
map函数和lambda函数
import tensorflow as tf
import numpy as np
##定义两个数组
x = np.arange(6)
y = np.arange(3,9)
##创建dataset数据集
dataset = tf.data.Dataset.from_tensor_slices({
'x':x,
'y':y
})
c = tf.data.Dataset.range(1,7)
def getone(dataset):
iterator = dataset.make_one_shot_iterator() #生成一个迭代器
one_element = iterator.get_next() #迭代器取值
return one_element
one_element1 = getone(dataset)
one_element2 = getone(c) #定义一个会话内调用的函数
def sess_get_one(one_element):
for i in range(6):
datav = sess.run(one_element)
print(datav)
#开启会话,调取数据
with tf.Session() as sess:
sess_get_one(one_element1)
sess_get_one(one_element2) '''
{'x': 0, 'y': 3}
{'x': 1, 'y': 4}
{'x': 2, 'y': 5}
{'x': 3, 'y': 6}
{'x': 4, 'y': 7}
{'x': 5, 'y': 8}
1
2
3
4
5
6
'''
字典类型的dataset数据集
import tensorflow as tf
import numpy as np
##定义两个数组
x = np.arange(6)
y = np.arange(3,9)
##创建dataset数据集
dataset = tf.data.Dataset.from_tensor_slices({
'x':x,
'y':y
})
dataset1 = dataset.map(lambda data:(data['x']*2,tf.cast(data['y'],tf.float32)))
c = tf.data.Dataset.range(1,7)
def getone(dataset):
iterator = dataset.make_one_shot_iterator() #生成一个迭代器
one_element = iterator.get_next() #迭代器取值
return one_element
one_element1 = getone(dataset)
one_element2 = getone(c)
one_element3 = getone(dataset1) #定义一个会话内调用的函数
def sess_get_one(one_element):
for i in range(6):
datav = sess.run(one_element)
print(datav)
#开启会话,调取数据
with tf.Session() as sess:
sess_get_one(one_element1)
sess_get_one(one_element2)
sess_get_one(one_element3)
'''
{'x': 0, 'y': 3}
{'x': 1, 'y': 4}
{'x': 2, 'y': 5}
{'x': 3, 'y': 6}
{'x': 4, 'y': 7}
{'x': 5, 'y': 8}
字典类型的dataset数据集,每取一个值都带着key 1
2
3
4
5
6
(0, 3.0)
(2, 4.0)
(4, 5.0)
(6, 6.0)
(8, 7.0)
(10, 8.0)
相当于数据变成了:{(0, 3.0),(2, 4.0),(4, 5.0),(6, 6.0),(8, 7.0),(10, 8.0)}
'''
python3 -tensorflow-dataset 之map函数 lambda隐函数的应用的更多相关文章
- Python3中高阶函数lambda,filter,map,reduce,zip的详细用法
在Python里有五大高阶函数,他们分别是lambda()匿名函数,filter()筛选函数,map()函数,reduce()函数,zip()函数.下面就让我们来详细的了解一下这五种函数的具体用法吧. ...
- python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))
1.1函数式编程 面向过程编程:我们通过把大段代码拆成函数,通过一层一层的函数,可以把复杂的任务分解成简单的任务,这种一步一步的分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. ...
- filter,map,reduce,lambda(python3)
1.filter filter(function,sequence) 对sequence中的item依次执行function(item),将执行的结果为True(符合函数判断)的item组成一个lis ...
- Python3下map函数的显示问题
map函数是Python里面比较重要的函数,设计灵感来自于函数式编程.Python官方文档中是这样解释map函数的: map(function, iterable, ...) Return an it ...
- Python 特殊函数解析(lambda 函数,map 函数,filter 函数,reduce 函数)
写在之前 今天给大家介绍几个比较特殊的函数,他们具有函数式编程的特点,有人将它们视为 Python 可进行 「函数式编程」 的见证,至于什么是函数式编程,不是本篇文章的重点,感兴趣的可以去了解一下.老 ...
- python内置函数lambda、filter、map、reduce
lambda匿名函数 1.lambda只是一个表达式,函数体比def简单多. 2.lambda的主体是一个表达式,而不是一个代码块.仅仅能在lambda表达式中封装有限的逻辑进去 3.lambda函数 ...
- Python-匿名函数(lambda),map()
1. map() 描述 map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以第二个参数序列中的每一个元素调用 function 函数,返回一个map对象. 语法 map() ...
- Python 拓展之特殊函数(lambda 函数,map 函数,filter 函数,reduce 函数)
写在之前 今天给大家介绍几个比较特殊的函数,他们具有函数式编程的特点,有人将它们视为 Python 可进行 "函数式编程" 的见证,至于什么是函数式编程,不是本篇文章的重点,感兴趣 ...
- 解决Python3下map函数的显示问题
今天小编就为大家分享一篇解决Python3下map函数的显示问题,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧map函数是Python里面比较重要的函数,设计灵感来自于函数式编程.P ...
随机推荐
- Linux基础命令一(补充)
echo ls ls–l ---- ll cd / 根目录 cd ~ cd - 返回上一个目录 env ip addr 显示物理网络地址,缩写:ip a /etc/init.d/network ...
- 常见3种Git服务器的构建
学习Git不同的服务器形式,具体如下: - 创建SSH协议服务器 - 创建Git协议服务器 - 创建HTTP协议服务器 方案: Git支持很多服务器协议形式,不同协议的Git服务器,客户端就可以使用不 ...
- LA 3263 That Nice Euler Circuit(欧拉定理)
That Nice Euler Circuit Little Joey invented a scrabble machine that he called Euler, after the grea ...
- error: must use ‘class’ tag to refer to type ‘XXX’ in this scope
开发环境: Qt Creator 4.8.2 在写程序的时候,遇到了编译器报错 error: must use 'class' tag to refer to type 'XXX' in this s ...
- 反射getDeclaredFields()
public static void main(String[] args) { // 获取所有属性值 Field[] fields = People.class.getDeclaredFields( ...
- mysql 5.6 datetime default now()
CREATE TABLE `test` ( id int, `gmt_create` datetime DEFAULT NOW() not NULL )ENGINE=InnoDB; mysq ...
- 对Proxy的研究
概述 Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程. Proxy 可以理解成,在目标对象之前架设一 ...
- js把两个对象合并成一个对象
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象 语法: Object.assign(target, ...sources)参数 targ ...
- libopencv_imgcodecs3.so.3.3.1: undefined reference to `TIFFReadDirectory@LIBTIFF_4.0
ubundu 编译 C++工程时遇到的: 解决方案: https://blog.csdn.net/qq_29572513/article/details/88742652
- 吸$DN
旧博客:https://blog.csdn.net/gmh77 从几年前开始用CSDN,见证了CSDN是如何一步步走向辣鸡的 广告?ABP 登录看文章?雨我无瓜账号常年不退 分类要慢慢点也可以接受 前 ...