tensorflow实验记录01——常量的功能测试

本文记录了作者在使用TensorFlow过程中的实验心得,包括placeholder使用注意事项、constant张量操作限制、张量与numpy数组的组合运算及reshape操作效果验证,为初学者提供了实践指导。

tensorflow实验记录一

为督促非常时间认真学习,记录一下
2020.02.16
1.placeholder使用问题

x=tf.placeholder(tf.complex,[None,INPUT_NODE[0]]);

其中INPUT_NODE是np生成的array
报错:TypeError: Expected DataType for argument ‘dtype’ not <function add_dispatch_support..wrapper at 0x0000025F4D5DB378>.*
错误原因:
INPUT_NODE[0]丫不是整数,np生成默认浮点,更改后可用。
比如这么写

LAYER_NODE=100*np.ones(5,dtype=int);
y_=tf.placeholder(tf.complex64,shape=(None,OUTPUT_NODE));

2.constant张量是否可以下标调用计算
试验代码

    aa=tf.constant([1.0,2.0]);
    bb=tf.constant([3.0,4.0]);
    cc=tf.constant([5.0,2.0]);
    cc[0]=aa[1]+bb[1];
    cc[1]=aa[0]+bb[0];
    print(cc);

试验结果:TypeError: ‘Tensor’ object does not support item assignment
结论:不可以呢 :<
但是print可以打印出来结果,结果如下;
print(cc[1]);
Tensor(“strided_slice:0”, shape=(), dtype=float32)
print(cc);

### TensorFlow 中张量的基本概念 #### 定义与特性 TensorFlow中的张量可以被视作一个多维数组,这种结构非常类似于NumPy库中的`ndarray`对象[^4]。每一个张量都拥有两个核心属性: - **数据类型 (dtype)**:指定了张量内存储数值的具体形式,比如整数(int),浮点数(float)等。 - **形状 (shape)**:描述了各个维度上的大小,即每一层嵌套列表的长度。 这些特征使得张量成为处理多维数据分析的理想工具,在机器学习领域尤其重要。 #### 创建张量的方法 为了初始化一个新的张量实例,可以通过多种方式实现。最常用的方式之一是从Python原生的数据结构转换而来,例如列表或元组;也可以直接利用内置函数来生成特定模式下的随机值填充的新张量。下面给出几个具体的例子说明如何创建不同类型的张量: ```python import tensorflow as tf # 使用常量创建一个标量(0-D tensor) scalar_tensor = tf.constant(7) # 构建向量(1-D tensor), 可以传入list或者tuple vector_tensor = tf.constant([1., 2., 3.]) # 利用二维列表建立矩阵(2-D tensor) matrix_tensor = tf.constant([[1, 2], [3, 4]]) print(scalar_tensor) print(vector_tensor) print(matrix_tensor) ``` 这段代码展示了三种不同的张量形态——标量、矢量以及矩阵,并且每种情况下均采用了`tf.constant()`方法来进行构造。 #### 形状变换操作 除了上述提到的基础性质外,张量还支持对其自身的尺寸规格进行调整的操作。这主要体现在两方面: - 动态改变张量的实际布局而不影响原始内存分配; - 静态声明预期达到的目标外形参数,从而允许编译器优化执行路径。 具体来说,就是运用`tf.reshape()`和`tf.set_shape()`这两个API接口完成相应的任务[^3]。 ```python original_tensor = tf.constant([[1, 2, 3], [4, 5, 6]]) reshaped_tensor = tf.reshape(original_tensor, shape=[3, 2]) set_shaped_tensor = original_tensor.set_shape((2, None)) print("Original Tensor:\n", original_tensor.numpy()) print("\nReshaped Tensor:\n", reshaped_tensor.numpy()) print("\nSet Shaped Tensor Shape:", set_shaped_tensor.shape) ``` 此段脚本先定义了一个初始状态下的二阶方阵作为输入源,接着分别调用了reshape()与set_shape()对其进行重塑实验并打印结果对比差异所在。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值