【python学习小知识】求绝对值和numpy和tensor的相互转换

一、python求绝对值的三种方法

  • 1.条件判断
  • 2.内置函数abs()
  • 3.内置模块 math.fabs

1、条件判段,判断大于0还是小于0,小于0则输出相反数即可

# 法1:使用条件判断求绝对值
def abs_value1(): 
# input返回str,需转换为浮点数的格式 
a = float(input('1.请输入一个数字:')) 
if a >= 0: 
    a = a 
else: 
    a = -a 
print('绝对值为:%f' % a) 

2、abs()函数

# 法2:使用内置函数求绝对值 
def abs_value2():
a = float(input('2.请输入一个数字:')) 
a = abs(a)
print('绝对值为:%f' % a) 

3、内置模块 math.fabs(),它在math模块中定义

# 法3:使用内置的math模块求绝对值 

import math
def abs_value3(): 
a = float(input('3.请输入一个数字:')) 
a = math.fabs(a) 
print('绝对值为:%f' % a)

abs() 与fabs()的区别

abs()是一个内置函数,而fabs()在math模块中定义的。
fabs()函数只适用于float和integer类型,而abs()也适用于复数。
abs()返回是float和int类型,math.fabs()返回是float类型

 

二、tensor和numpy的相互转换

1、numpy转换为tensor

import numpy as np
import torch

# 定义x,y为2*1的数组
x = np.zeros([2,1])
y = np.ones([2,1])
x, y
# 输出:
(array([[0.],
        [0.]]),
 array([[1.],
        [1.]]))

转换为tensor,用torch.from_numpy(x)

x, y = torch.from_numpy(x), torch.from_numpy(y)
x, y

# 输出:
(tensor([[0.],
         [0.]], dtype=torch.float64),
 tensor([[1.],
         [1.]], dtype=torch.float64))

2、tensor转换为numpy,接着上面的继续使用.numpy()即可

x, y =x.numpy(), y.numpy()
x, y

# 输出:
(array([[0.],
        [0.]]),
 array([[1.],
        [1.]]))

记录python学习小知识,共同进步。

posted @ 2021-05-31 10:01  程序员龙一  阅读(649)  评论(0编辑  收藏  举报