完成代码,输入为一个元组类型的数组(x,y)。要求使用tensorflow中进行运算:如果x < y,计算x + x * y;否则执行y * y,返回计算结果。 提示 # tensor计算可以使用Session来执行 tens1 = tf.constant([1,2,3]) with tf.compat.v1.Session() as sess: result = sess.run(tens1).tolist() # .tolist()将tensor计算结果转为列表格式 print(result) # 打印结果为:[1,2,3] 数据范围 m,n为正整数 示例1 输入:(5, 7) 输出:40 示例2 输入:(7, -1) 输出:1
时间: 2023-12-14 19:04:43 浏览: 75
代码如下:
```python
import tensorflow as tf
def compute(x, y):
# 创建常量tensor
tensor_x = tf.constant(x)
tensor_y = tf.constant(y)
# 创建两个占位符,用于存放计算结果
result1 = tf.compat.v1.placeholder(tf.int32)
result2 = tf.compat.v1.placeholder(tf.int32)
# 创建判断条件,如果x<y,则计算x+x*y,否则计算y*y
condition = tf.less(tensor_x, tensor_y)
# 创建两个计算节点
op1 = tf.multiply(tensor_x, tensor_y)
op2 = tf.add(tensor_x, op1)
op3 = tf.multiply(tensor_y, tensor_y)
# 创建Session并执行计算
with tf.compat.v1.Session() as sess:
if sess.run(condition):
# x<y,执行op2
result = sess.run(op2, feed_dict={result1: 0})
else:
# x>=y,执行op3
result = sess.run(op3, feed_dict={result2: 0})
return result
```
测试代码:
```python
print(compute(5, 7)) # 输出:40
print(compute(7, -1)) # 输出:1
```
阅读全文