問題の説明:
Pythonがカスタムシグモイド関数、入力Xを行列として使用している場合、「Float」オブジェクトに属性「exp」がない場合があります。
def sigmoid(inp): 1.0 /(1 + np.exp(-inp))を返します
マトリックスデータをこの関数に手動で取り込み、numpy.mat関数を探して見つけることは問題ないことがわかりました
numpy.
mat
(data、dtype = None)[ソース] ¶
入力を行列として解釈します。
とは異なりmatrix
、asmatrix
入力が既に行列またはndarrayである場合は、コピーを作成しません。に相当しmatrix(data, copy=False)
ます。
パラメーター: | data:array_like
dtype:データ型
|
---|---|
戻り値: | mat:マトリックス
|
デフォルトのdtypeはNoneなので、マトリックスを生成するときにdtypeにタイプを追加して、問題を解決します。たとえば、Xmat = numpy.mat(_x、dtype = float)とし、Xmatをシグモイド関数に入れても、問題は見つかりませんでした。
AttributeError: 'Float' object has no attribute 'exp'