技术标签: tensorflow python tensorflow2.0学习
张量的二元操作可以进行广播,与numpy的广播规则一样
返回张量的绝对值,输出类型、形状与输入一致
tf.math.abs(
x,
name=None
)
a = tf.constant([[1, 2, -1], [4, -3, 2]], dtype=tf.float32)
tf.abs(a)
>>>
<tf.Tensor: id=4, shape=(2, 3), dtype=float32, numpy=
array([[1., 2., 1.],
[4., 3., 2.]], dtype=float32)>
同add_n()
,对多个张量对应位置求和
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 0], [0, 6]])
tf.math.accumulate_n([a, b, a]) # [[7, 4], [6, 14]]
# Explicitly pass shape and type
tf.math.accumulate_n([a, b, a], shape=[2, 2], tensor_dtype=tf.int32) # [[7, 4],[6, 14]]
x和y对应元素相加,相当于+
tf.math.add(
x,
y,
name=None
)
同accumulate_n()
返回张量沿某一轴的最大值的下标
tf.math.argmax(
input,
axis=None,
output_type=tf.dtypes.int64,
name=None
)
A=tf.constant([2,20,30,3,6]) # Constant 1-D Tensor
tf.math.argmax(A) # output 2 as index 2 (A[2]) is maximum in tensor A
B=tf.constant([[2,20,30,3,6],[3,11,16,1,8],[14,45,23,5,27]])
tf.math.argmax(B,0) # [2, 2, 0, 2, 2]
tf.math.argmax(B,1) # [2, 2, 1]
axis原则
设axis=i ,则numpy沿着第i个下标变化的方向进行操作;所以,axis=0时,按列操作
与argmax()
类似
对每个元素向上取整
输入类型必须是float
tf.math.ceil(
x,
name=None
)
floor: 向下取整
round: 最近取整
计算标签和输出的混淆矩阵
tf.math.confusion_matrix(
labels,
predictions,
num_classes=None,
weights=None,
dtype=tf.dtypes.int32,
name=None
)
# num_class自动计算为4+1,标签自动假定为[0, 1, 2, 3, 4]
tf.math.confusion_matrix([1, 2, 4], [2, 2, 4]) ==>
[[0 0 0 0 0]
[0 0 1 0 0]
[0 0 1 0 0]
[0 0 0 0 0]
[0 0 0 0 1]]
x = tf.constant([2, 4])
y = tf.constant([2, 4])
tf.math.equal(x, y)
>>>
<tf.Tensor: id=96, shape=(2,), dtype=bool, numpy=array([ True, True])>
logical_and
、logical_or
、logical_not
、logical_xor
x = tf.constant([False, False, True, True], dtype = tf.bool)
y = tf.constant([False, True, False, True], dtype = tf.bool)
z = tf.logical_xor(x, y, name="LogicalXor")
# here z = [False True True False]
返回元素级 x > y ? x : y 结果
tf.math.maximum(
x,
y,
name=None
)
x = tf.constant([[1, 3], [3, 2]], dtype=tf.float32)
y = tf.constant([[2, 3], [0, 4]], dtype=tf.float32)
tf.maximum(x, y)
>>>
<tf.Tensor: id=106, shape=(2, 2), dtype=float32, numpy=
array([[2., 3.],
[3., 4.]], dtype=float32)>
指数运算,相当于 x**y
tf.math.pow(
x,
y,
name=None
)
x = tf.constant([[2, 2], [3, 3]])
y = tf.constant([[8, 16], [2, 3]])
tf.pow(x, y) # [[256, 65536], [9, 27]]
张量沿某一轴的最大或最小值
设置keepdims=True,保持维度
tf.math.reduce_max(
input_tensor,
axis=None,
keepdims=False,
name=None
)
x = tf.constant([[1, 3], [5, 2]], dtype=tf.float32)
tf.reduce_max(x, axis=0)
>>>
<tf.Tensor: id=137, shape=(2,), dtype=float32, numpy=array([5., 3.], dtype=float32)>
tf.reduce_max(x, axis=0, keepdims=True)
>>>
<tf.Tensor: id=143, shape=(1, 2), dtype=float32, numpy=array([[5., 3.]], dtype=float32)>
沿张量某一轴求平均值/和
返回最后一维上的前K大的值和下标
tf.math.top_k(
input,
k=1,
sorted=True,
name=None
)
x = tf.constant([[1, 3], [5, 2]], dtype=tf.float32)
v, i =tf.math.top_k(x, 1)
print(v)
print(i)
>>>
tf.Tensor(
[[3.]
[5.]], shape=(2, 1), dtype=float32) tf.Tensor(
[[1]
[0]], shape=(2, 1), dtype=int32)
+=背后的特殊方法是__iadd__(用于就地加法),若a实现了iadd的方法就会调用这个方法,如果没实现,则a+=b这个表达式的效果就是a = a+b一样:首先计算a+b 得到一个性的对象,然后赋值给a也就是说在这个过程中,变量名会不会被关联到新的对象,完全取决于这个类型有没有实现__iadd__这个方法可变序列一般都实现了这个方法,也就是说+=就是就地加法。而不可序列不支持这个操作不可变序列l = (1, 2, 4)print(id(l))l = l*2print(id(l))l*=_python增量赋值
#斜体表示不熟悉的知识点链式赋值x=y=123, x=123,y=123系列解包赋值a,b,c=4,5,6类型介绍(type)整数:10/浮点:3.14/布尔:True/字符串:“sxt”数字运算符:浮点除法:/,整除://,取余数:%,幂:**,同时取得商和余数:divmod,返回的是元组十进制转化为二进制:转化原理:|0|0||1|1||2|10| 2^1+0..._python运输符与字符串
翻开书的第一章,看到了标题“至亲密友”,就让人觉得很有意思。作者Charles Petzold为了让你理解莫尔斯电码,借两个人在晚上用手电筒相互交流的例子,过后有一刻就会点亮了的大脑。难怪我们在谍战片中能经常听到情报员在发情报时”滴滴嗒嗒”的响声,现在看来或许已经解开了。这一章节的最后呢,有一句引起了我的好奇,“事实上,两个不同的事物,只要经过适当的组合,就可以表示所型的信息”。通过读这本书或者你..._请撰写阅读本书/练习完本书所提供的code之后的感想.
【科学世界博览】教育品质专文:“中国顶尖的两所信息工程大学翻新,南信大、军信大要崛起”,值此发布之际,林瑜伽老师携手教育团队,诚挚欢迎同学们点击上方“蓝字”,触控“科学教育”的前沿新知识,专注把握“大学”发展的时代脉搏,感知不同高校的优势专业,领略不同区域的发展前景,选择适合自己发展的顶尖专业高校。提起“信息工程大学”,同学们的脑海中浮现的第一所大学是谁呢?是南京信息工程大学,还是解放军信息工程大..._南京战略志愿信息工程大学
2021SC@SDUSCClass Texture纹理对象。存储在CPU上,渲染图形时使用。Properties:IsNormalMap返回布尔值,是否为一个normal map。MethodsFromFile(String,Boolean)从图像文件中加载纹理,并创建虚拟纹理对象。支持的文件格式取决于运行平台。所有平台都支持加载 PNG、 BMP、 TGA、 HDR 和 JPEG 文件。参数里面路径自不必说,另一个布尔值代表是否创建bipmap。返回_meshindex* 和meshindex* 数组怎么区分
import numpy as npdef Sigmoid(input): return 1.0/(1.0+np.exp(-input))def Tanh(input): return np.tanh(input)def Relu(input): return np.maximum(0.0,input)def Liner(input): return inp...
测试技术更迭速度快,如果不想被淘汰,就要掌握主动权,而主动权只有两个字:进阶。所谓进阶,不仅是技术层面需要掌握当下像腾讯,阿里巴巴,字节跳动这些大厂看重和常用的技术,还要懂得底层原理。下面我将会根据这些来进行知识点的整理,和自己对作为一名高级测试需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到底的朋友!..._32岁 p7
(转:天晓得的专栏)Javascript的调试,是开发Web应用尤其是AJAX应用很重要的一环,目前对Javascript进行调试的工具很多,我比较喜欢使用的是Firebug。Firebug是Joe Hewitt开发的一套与Firefox集成在一起的功能强大的web开发工具,可以实时编辑、调试和监测任何页面的CSS、HTML和JavaScript。本文主要是为初学者介绍一下Firebug的
使用Sublime编写的JAVA程序中若含中文字符时,在CMD下编译是会出现:错误:编码GBK的不可映射字符;怎么解决了,问度娘呗,哈哈!通过百度可以找到以下几种解决办法:1,javac -encoding UTF-8 XX.java使用-encoding参数指明编码方式。详情请猛戳:http://zhidao.baidu.com/link?url=fvgJcWsADRLv1cMARNacU94T...
场景:使用spring-security时,请求/j_spring_security_logout报http404原因:spring-security4.x版本需要自己手动在logout标签加上logout-url=“/j_spring_security_logout”spring-security3.x版本不需要手动加,spring-security默认处理解决:
(一)优点:1,配置变得简单了2,.springboot内嵌了servlet容器,降低了对环境的要求,机器有java运行环境,可以将项目打包成jar包,通过java命令 java -jar ***.jar 来执行。3,.快速整合第三方框架,无需配置文件4.解决了Spring的弊端5.代码少了、配置文件少了、不需要对第三方框架烦恼了、项目精简了,对整个团队的开发及维护来说,更大的节约了成本。6.使用Java或Groovy开发基于Spring的应用程序非常容易。7.它减少了大量的开发时间并提高了生_springboot有哪些优缺点
1. 指令 v-cloak====》 防止闪烁(用在比较大的段落)属性选择器=====》