# 报错：module\(\) takes at most 2 arguments \(3 given\)

**1. 系统环境**

硬件环境\(Ascend/GPU/CPU\): CPU

软件环境: MindSpore 版本: 1.8.1

执行模式（静态图/动态图）： 不限

Python 版本: 3.7.6

操作系统平台: linux

**2. 报错信息**

2.1 问题描述

1.网络创建失败

2.Tensor创建失败

2.2 报错信息

报错一：

```
TypeError: module() takes at most 2 arguments (3 given)
```

报错二：

```
TypeError: 'mindspore._c_expression.typing.TensorType' object is not callable
```

2.3 脚本信息

代码一：

```
import mindspore.nn as nn
import mindspore.ops as ops
class MyCell(nn.cell):
  def _init__(self, forward_net):
    super(MyCelL, self)._init__(auto_prefix=False)
    sef.relu = ops.ReLU()
    self.net = forward_net
```

代码二：

```
import mindspore
t1 = mindspore.tensor([[1,2,3],[3,4,5]])
# = { 'dΘ':[1,2,3],'d1':mindspore.Tensor(a),'c....}
print(t1)
```

**3. 根因分析**

nn.cell 其实是模块，为文件mindspore/nn/cell.py

当模块作为类继承的父类就会报TypeError: module\(\) takes at most 2 arguments \(3 given\)

nn.Cell 为mindspore/nn/cell.py模块里面的Cell类。

mindspore.tensor其实指向的是typing.TensorType\(\) 是无法调用的。

**4. 解决方案**

代码一：

```
import mindspore.nn as nn
import mindspore.ops as ops
class MyCell(nn.Cell):
  def __init__(self, forward_net):
    super(MyCell, self).__init__(auto_prefix=False)
    self.relu = ops.ReLU()
    self.net = forward_net
```

代码二：

```
import mindspore
t1 = mindspore.Tensor([[1,2,3],[3,4,5]])
# = { 'dΘ':[1,2,3],'d1':mindspore.Tensor(a),'c....}
print(t1)
```

