我才刚刚开始学习TensorFlow。引用documentation:
让我们建立一个简单的计算图。最基本的操作是一个常数。构建操作的Python函数将张量值作为输入。结果操作不需输入。运行时,它输出传递给构造函数的值。我们可以如下创建两个浮点常量a和b:
{
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/rails.log",
"log_group_name": "rails.log",
"log_stream_name": "{instance_id}"
},
{
"file_path": "/var/log/nginx_info.log",
"log_group_name": "nginx_info.log",
"log_stream_name": "{instance_id}"
}
]
}
}
},
"metrics": {
"append_dimensions": {
"AutoScalingGroupName": "${aws:AutoScalingGroupName}",
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics_collected": {
"collectd": {
"metrics_aggregation_interval": 60
},
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 60
},
"statsd": {
"metrics_aggregation_interval": 60,
"metrics_collection_interval": 10,
"service_address": ":8125"
},
"swap": {
"measurement": [
"swap_used_percent"
],
"metrics_collection_interval": 60
}
}
}
}
第二个常量隐式键入为float32。那是基于第一个常量的显式输入吗?这是否意味着需要第一个a = tf.constant(3.0, dtype=tf.float32)
b = tf.constant(4.0) # also tf.float32 implicitly
total = a + b
print(a)
print(b)
print(total)
? tf.constant documentation暗示它不会:
如果未指定参数dtype,则从
dtype
的类型中推断出该类型。
但是然后不必显式地键入上面的3.0常量。
我只是想对此进行澄清,因为就像我说的那样,我才刚刚开始。
答案 0 :(得分:0)
但随后不必显式键入3.0常量 以上。
完全正确。
a = tf.constant(3.0, dtype=tf.float32)
等效于:
a = tf.constant(3.0)
文档只是演示了不同的重载。如果我们想要不同的数值精度(甚至只是为了提高人类的可读性),我们可能会选择显式提供类型,但是如果您想使用默认数据类型TF推断,那么就完全没有必要了。