在Python中将参数初始化为零

时间:2018-12-30 15:38:46

标签: python numpy

我尝试实现参数初始化并收到错误消息:

import numpy as np

def initialize_with_zeros(dim):
    w = np.zeros(dim, 1)
    b = 0
    return w, b

dim = 2
initialize_with_zeros(dim)

这是错误:

  

TypeError跟踪(最近的呼叫   最后)在()         5         6暗= 2   ----> 7 initialize_with_zeros(dim)

     

in initialize_with_zeros(dim)         1 def initialize_with_zeros(dim):   ----> 2 w = np.zeros(dim,1)         3 b = 0         4返回w,b         5

     

TypeError:数据类型无法理解

2 个答案:

答案 0 :(得分:5)

np.zeros仅采用形状为元组或单个整数(对于一维数组)。如果只需要一维数组,则传递一个参数。如果需要二维数组,则以元组(dim,1)的形式传递。因此,根据您的需要,可以使用

w = np.zeros(dim)

这将为您提供一维零的数组

或使用

w = np.zeros((dim, 1))

这将为您提供一个二维数组,其中行数为dim,列为1。

official docs

  

numpy.zeros(shape,dtype = float,order ='C')

     

参数:
  shape:int或int的元组新数组的形状,例如(2,3)或2。

答案 1 :(得分:0)

用零初始化参数:

# GRADED FUNCTION: initialize_with_zeros
import numpy as np

def initialize_with_zeros(dim):
    w = np.zeros([dim, 1])
    b = 0
    return w, b

dim = 2
w,b=initialize_with_zeros(dim)

print ("w = " + str(w))
print ("b = " + str(b))