C3D实现ucf101人体行为识别代码知识总结

本文总结了C3D模型在ucf101数据集上进行人体行为识别的代码知识,包括tf.argmax用于获取最大值索引,tf.equal进行向量元素比较,tf.cast进行数据类型转换,以及tf.reduce_mean计算均值等关键操作。此外,还介绍了tf.name_scope的作用和tf.summary.scalar在TensorBoard中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C3D实现ucf101人体行为识别代码知识总结

    with tf.name_scope('accuracy'):
    accuracy = tf.reduce_mean(tf.cast(tf.equal(tf.argmax(logits, 1), tf.argmax(batch_labels, 1)), np.float32))
    tf.summary.scalar('accuracy', accuracy)
  1. tf.argmax(logits, 1)是按行取出logits矩阵中最大值对应的索引(index)值,最后会生成一个向量
    0是按照列取出最大值的索引,若第一个参数为向量,最后的值为一个数值
  2. tf.equal(A,B)是比较两个两个向量对应元素是否相等,相等为1,反之为0,生成一个和向量长度一样的元组,看到资料用的是小括号
  3. tf.cast(data_1,dtype)将data_1(可以为int,bool,float,python列表,python元组【输出转换后的数据,原数据不变】)转换成指定dtype类型 这里强制转化成浮点型
  4. tf.reduce_mean(),求均值
  5. with tf.name_scope(‘loss’): 定义一块名为loss的区域,并在其中工作,只是规定了对象和操作属于哪个区域,但这并不意味着他们的作用域也只限于该区域(with的这种写法很容易让人产生这种误会),不要将其和“全局变量、局部变量”的概念搞混淆,两者完全不是一回事。在name_scope中定义的对象,从被定义的位置开始,直到后来某个地方对该对象重新定义,中间任何地方都可以使用该
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值