Tensorflow2.0:编程笔记

本文记录了作者在实践中使用TensorFlow2.0的心得体会,旨在加深对深度学习库TensorFlow2.0的理解和应用。
摘要由CSDN通过智能技术生成

尽管之前看了Tensorflow2.0的语法句,但总归还是不够熟练,在实践上总归是有点陌生,因此特地记录自己的一些感悟和理解。

import tensorflow as tf
from tensorflow import keras
import numpy as np
# 1. 去除维度
# 生成[1, 25, 25, 3]的维度
x = tf.reshape(tf.range(1, 1876), [1, 25, 25, 3])
# 去除中间维度
x = tf.reshape(x, [tf.shape(x)[0], -1, 3])
x = tf.cast(x, tf.float32)

# 2. softmax计算
# 方法:tf.nn.softmax(logits,axis=None,name=None,dim=None)
# logits:一个非空的Tensor。必须是下列类型之一:half, float32,float64
# axis:将在其上执行维度softmax。默认值为-1,表示最后一个维度
rpn_probs = tf.nn.softmax(x)  # 每行为一组数据,在列维度计算softmax
rpn_probs1 = tf.nn.softmax(x, axis=1)  # 每一列为一组数据,在行维度上计算softmax


# 3. 列表元素分裂
# 方法:zip(*)
# 例1
# 生成列表
layer_outputs = []
rpn_class_logits = tf.reshape(tf.range(1, 31), [2, 5, 3])
rpn_probs = tf.reshape(tf.range(32, 62), [2, 5, 3])
rpn_deltas = tf.reshape(tf.range(63, 93), [2, 5, 3])
# layer_outputs的格式为[[rpn_class_logits, rpn_probs, rpn_deltas]]
layer_outputs.append([rpn_class_logits, rpn_probs, rpn_deltas])
# 列表元素分裂
outputs = list(zip(*layer_outputs))  # 格式为[(rpn_class_logits), (rpn_probs), (rpn_deltas)]
outputs1 = [list(o) for o in outputs]  # 格式为[[rpn_class_logits], [rpn_probs], [rpn_deltas]]
outputs2 = [tf.concat(list(o), axis=1) for o in outputs]  # 格式为[rpn_class_logits, rpn_probs, rpn_deltas]
# 例2
a = [1, 2, 3]
b = [
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值