简体   繁体   English

Scikit-Learn(类型错误:ufunc 'subtract' 不包含签名匹配类型 dtype('

[英]Scikit-Learn (TypeError: ufunc 'subtract' did not contain a loop with signature matching types dtype('<U32') dtype('<U32') dtype('<U32'))

I created a small MLPRegressor code for the Iris dataset that I had downloaded as a csv.我为下载为 csv 的 Iris 数据集创建了一个小的 MLPRegressor 代码。 Although I can use the load_iris() module for my code, my uni wants me to do it the old fashioned way.虽然我可以在我的代码中使用 load_iris() 模块,但我的大学希望我用老式的方式来做。

from sklearn.neural_network import MLPRegressor
import pandas as pd

data = pd.read_csv("iris.csv", header=None)
# data = load_iris()

attributes = data.iloc[:,:-1].values.tolist()
outputs = data.iloc[:,-1].values.tolist()
clf = MLPRegressor(
    # solver="sgd", 
    # activation="logistic", 
    # learning_rate_init=0.01,
    # max_iter=10000,
    # verbose=True,
    hidden_layer_sizes=[4]
)

clf.fit(attributes, outputs)

print(clf.predict([[5.4,3.9,1.3,0.4],[6.5,3.2,5.1,2.0]]))

I get an error like this when I try to run:当我尝试运行时出现这样的错误:

Traceback (most recent call last):
  File "prog4_scikit_learn.py", line 28, in <module>
    clf.fit(attributes, outputs)
  File "/usr/local/lib/python3.6/dist-packages/sklearn/neural_network/multilayer_perceptron.py", line 620, in fit
    return self._fit(X, y, incremental=False)
  File "/usr/local/lib/python3.6/dist-packages/sklearn/neural_network/multilayer_perceptron.py", line 378, in _fit
    intercept_grads, layer_units, incremental)
  File "/usr/local/lib/python3.6/dist-packages/sklearn/neural_network/multilayer_perceptron.py", line 516, in _fit_stochastic
    coef_grads, intercept_grads)
  File "/usr/local/lib/python3.6/dist-packages/sklearn/neural_network/multilayer_perceptron.py", line 230, in _backprop
    loss = LOSS_FUNCTIONS[loss_func_name](y, activations[-1])
  File "/usr/local/lib/python3.6/dist-packages/sklearn/neural_network/_base.py", line 194, in squared_loss
    return ((y_true - y_pred) ** 2).mean() / 2
TypeError: ufunc 'subtract' did not contain a loop with signature matching types dtype('<U32') dtype('<U32') dtype('<U32')

Although I created a code using MLPClassifier for the same dataset and it works like a charm虽然我使用 MLPClassifier 为相同的数据集创建了一个代码,但它的工作原理很吸引人

from sklearn.neural_network import MLPRegressor
import pandas as pd

data = pd.read_csv("iris.csv", header=None)

attributes = data.iloc[:,:-1].values.tolist()
outputs = data.iloc[:,-1].values.tolist()

clf = MLPClassifier(solver="sgd", 
activation="logistic", 
learning_rate_init=0.01,
max_iter=10000,
# verbose=True,
hidden_layer_sizes=[4])
clf.fit(attributes, outputs)

print(clf.predict([[5.4,3.9,1.3,0.4],[6.5,3.2,5.1,2.0]]))

Can someone help me out有人可以帮我吗

Check your y .检查您的y In this case: 'outputs'在这种情况下: 'outputs'

In a typical 'iris.csv' file, the last column denotes the species of the samples and will have values as strings在典型的'iris.csv'文件中,最后一列表示样本的种类,并将值作为字符串

  • 'setosa' 'setosa'
  • 'versicolor' '杂色'
  • 'virginica' '弗吉尼亚'

In the classifier, that is a valid input, so it works correctly.在分类器中,这是一个有效的输入,因此它可以正常工作。

But for a regressor, its not.但对于回归器,它不是。 Regression is for finding a continuous numerical value as target, which you dont have in this case.回归是为了找到一个连续的数值作为目标,在这种情况下你没有。 Agreed that the error message should be more clear, but hope that its clear to you now.同意错误消息应该更清楚,但希望您现在清楚。

There is no need to call .tolist() on the arrays as they can be handled directly by the scikit-learn estimators, and in any case if you use tolist() , they will be again converted to numpy arrays internally.不需要在数组上调用.tolist() ,因为它们可以由 scikit-learn 估计器直接处理,并且在任何情况下,如果您使用tolist() ,它们将再次在内部转换为 numpy 数组。

I think if you have not used tolist() then the error might be different and easier to understand.我想如果你没有使用过tolist()那么错误可能会有所不同并且更容易理解。

Now coming to load_iris() .现在来到load_iris() load_data().target contains numerical values 0,1,2 as representation of the classes. load_data().target包含数值 0,1,2 作为类的表示。 Since it is numbers, its working in regression as well as regression.由于它是数字,因此它在回归和回归中都起作用。 Hope this makes sense.希望这是有道理的。

ufunc 'add' 不包含带有签名匹配类型的循环 (dtype(' <u32'), dtype('<u32')) -> dtype(' <u32')< div><div id="text_translate"><p> 我正在尝试运行此脚本,但它显示生成的错误:</p><pre> UFuncTypeError: ufunc 'add' did not contain a loop with signature matching types (dtype('<U32'), dtype('<U32')) -> dtype('<U32')</pre><p> 这是我试图运行的下面的代码:</p><pre> if __name__ == '__main__': app = Nominatim(user_agent="test_solar") loc_raw = app.geocode('Postintaival 7, 00230 Helsinki, Finland').raw latitude = loc_raw['lat'] longitude = loc_raw['lon'] altitude = get_elevation(latitude, longitude) location_object = Location(latitude, longitude, 'Europe/Helsinki', altitude, 'relex_solutions') weather = pvlib.iotools.get_pvgis_tmy(latitude, longitude, map_variables=True)[0] times = weather.index solpos = location_object.get_solarposition(times) clearsky_values = location_object.get_clearsky(times, model='ineichen', solar_position=solpos, dni_extra=None)</pre> </div></u32')<></u32'),> - ufunc 'add' did not contain a loop with signature matching types (dtype('<U32'), dtype('<U32')) -> dtype('<U32')

UFuncTypeError:ufunc 'clip' 不包含具有签名匹配类型的循环(dtype(' <u32’), dtype(‘<u32’), dtype(‘<u32’)) -> dtype(' <u32’)< div><div id="text_translate"><p> 我使用 Deep Pavlov 框架与 Bert 分类器一起工作,只是因为我需要预测人员的语言是俄语。 基本上,我正在尝试解决多类分类问题。 根据 Deep Pavlov,我们可以轻松地更改配置文件上的一些配置。 我拿了这个配置文件<a href="https://github.com/deepmipt/DeepPavlov/blob/master/deeppavlov/configs/classifiers/rusentiment_convers_bert.json" rel="nofollow noreferrer">https://github.com/deepmipt/DeepPavlov/blob/master/deeppavlov/configs/classifiers/rusentiment_convers_bert.json</a>并训练它,结果我花了大约 13 个小时才完成它我的 model 过拟合。</p><p> 我做了一些改变,尤其是这些:</p><pre> "weight_decay_rate": 0.001, "learning_rate_drop_patience": 1, "learning_rate_drop_div": 2.0, "load_before_drop": True, "min_learning_rate": 1e-03, "attention_probs_keep_prob": 0.5, "hidden_keep_prob": 0.5,</pre><p> 另外,我增加了批量大小,之前是 16:</p><pre> "batch_size": 32</pre><p> 并添加了一些指标:</p><pre> "log_loss", "matthews_correlation",</pre><p> 还将validation_patience更改为1并添加了tensorboard func</p><pre> "validation_patience": 1, "tensorboard_log_dir": "logs/",</pre><p> 就是这样。 这些是我对 model 所做的所有更改,当我尝试训练我的 model 时,它给了我以下错误:</p><pre> UFuncTypeError Traceback (most recent call last) /usr/local/lib/python3.7/dist-packages/numpy/core/fromnumeric.py in _wrapfunc(obj, method, *args, **kwds) 60 try: ---&gt; 61 return bound(*args, **kwds) 62 except TypeError: 15 frames UFuncTypeError: ufunc 'clip' did not contain a loop with signature matching types (dtype('&lt;U32'), dtype('&lt;U32'), dtype('&lt;U32')) -&gt; dtype('&lt;U32') During handling of the above exception, another exception occurred: UFuncTypeError Traceback (most recent call last) &lt;__array_function__ internals&gt; in clip(*args, **kwargs) /usr/local/lib/python3.7/dist-packages/numpy/core/_methods.py in _clip_dep_invoke_with_casting(ufunc, out, casting, *args, **kwargs) 83 # try to deal with broken casting rules 84 try: ---&gt; 85 return ufunc(*args, out=out, **kwargs) 86 except _exceptions._UFuncOutputCastingError as e: 87 # Numpy 1.17.0, 2019-02-24 UFuncTypeError: ufunc 'clip' did not contain a loop with signature matching types (dtype('&lt;U32'), dtype('&lt;U32'), dtype('&lt;U32')) -&gt; dtype('&lt;U32')</pre><p> 起初,我认为它与数据集有关,但是,我没有更改我的数据集,并且在我第一次训练这个 model 时它已经运行。 </p></div></u32’)<></u32’),> - UFuncTypeError: ufunc ‘clip’ did not contain a loop with signature matching types (dtype(‘<U32’), dtype(‘<U32’), dtype(‘<U32’)) -> dtype(‘<U32’)

UFuncTypeError:ufunc 'matmul' 不包含具有签名匹配类型的循环(dtype(' <u32'), dtype('<u32')) -> dtype(' <u32') - streamlit< div><div id="text_translate"><pre> #Linear Regression Model @st.cache(allow_output_mutation=True) def linearRegression(X_train, X_test, y_train, y_test): model = LinearRegression() model.fit(X_train,y_train) score = model.score(X_test, y_test)*100 return score, model</pre><hr><pre> #User input for the model def user_input(): bedrooms = st.slider("Bedrooms: ", 1,15) bathrooms = st.text_input("Bathrooms: ") sqft_living = st.text_input("Square Feet: ") sqft_lot = st.text_input("Lot Size: ") floors = st.text_input("Number Of Floors: ") waterfront = st.text_input("Waterfront? For Yes type '1', For No type '0': ") view = st.slider("View (A higher score will mean a better view): ", 0,4) condition = st.slider("House Condition (A higher score will mean a better condition): ", 1,5) yr_built = st.text_input("Year Built: ") yr_reno = st.text_input("A Renovated Property? For Yes type '1', For No type '0': ") zipcode = st.text_input("Zipcode (5 digit): ") year_sold = st.text_input("Year Sold: ") month_sold = st.slider("Month Sold: ", 1,12) user_input_prediction = np.array([bedrooms,bathrooms,sqft_living, sqft_lot,floors,waterfront,view,condition,yr_built,yr_reno,zipcode,year_sold,month_sold]).reshape(1,-1) return(user_input_prediction)</pre><hr><pre> #Main function if(st.checkbox("Start a Search")): user_input_prediction = user_input() st.write('error1') pred = model.predict(user_input_prediction) st.write('error2') if(st.button("Submit")): st.text("success")</pre><p> 我正在使用 Streamlit 构建一个接受用户输入的 ML model。 在我的主要 function 中,它返回错误UFuncTypeError: ufunc 'matmul' did not contain a loop with signature matching types (dtype('&lt;U32'), dtype('&lt;U32')) -&gt; dtype('&lt;U32') and trace返回pred = model.predict(user_input_prediction)主 function 将打印出 error1 但不会打印 error2</p></div></u32')></u32'),> - UFuncTypeError: ufunc 'matmul' did not contain a loop with signature matching types (dtype('<U32'), dtype('<U32')) -> dtype('<U32') - Streamlit

TypeError: ufunc 'add' 不包含签名匹配类型 dtype(' <u1') dtype('<u1') dtype('<u1')< div><div id="text_translate"><p> 我是 Python 用户的初学者。 当我尝试在下面编写代码时发生错误</p><pre>import numpy as np np.array(['a', 'b', 'c']) + np.array(['d','e', 'f'])</pre><pre> TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('&lt;U1') dtype('&lt;U1') dtype('&lt;U1')</pre><p> 所以我尝试设置dtype = '&lt;U1' ,但它没有用</p><pre>import numpy as np np.array(['a', 'b', 'c'], dtype='&lt;U1') + np.array(['d','e', 'f'], dtype='&lt;U1')</pre><p> 如何无错误地连接那些 np.arrays ?</p></div></u1')> - TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('<U1') dtype('<U1') dtype('<U1')

UFuncTypeError: 无法从 dtype(' <u32') to dtype('float32') with casting rule 'same_kind'?< div><div id="text_translate"><p> 我正在尝试创建一个 ML model 来对石头、纸和剪刀的手势图像进行分类。 我不断收到如下错误消息:</p><blockquote><p> UFuncTypeError:无法使用转换规则“same_kind”将 ufunc 'multiply' output 从 dtype('&lt;U32') 转换为 dtype('float32')</p></blockquote><p> 这是我的代码:</p><pre> import tensorflow as to from tensorflow.keras.optimizers import RMSprop from tensorflow.keras.preprocessing.image import ImageDataGenerator from tensorflow import keras from tensorflow.keras import layers:wget --no-check-certificate \ https.//dicodingacademy.blob.core.windows.net/picodiploma/ml_pemula_academy/rockpaperscissors.zip -O /tmp/rockpaperscissors,zip import zipfile.os local_zip = '/tmp/rockpaperscissors.zip' zip_ref = zipfile,ZipFile(local_zip. 'r') zip_ref.extractall('/tmp') zip_ref.close(),pip install split_folders import split_folders as SF sf,ratio('/tmp/rockpaperscissors/rps-cv-images', output="/tmp/rockpaperscissors/data".seed=1337, ratio=(.8. .2)) root_path = '/tmp/rockpaperscissors/data' train_path = os,path.join(root_path. 'train') validation_path = os,path,join(root_path, 'val') train_datagen = ImageDataGenerator( rescale = "none", rotation_range = 30, vertical_flip = True. horizontal_flip = True, zoom_range = 0.1, width_shift_range = 0.1, height_shift_range = 0.1, shear_range = 0,2, fill_mode = 'nearest') test_datagen = ImageDataGenerator( rescale = "none", rotation_range = 30, vertical_flip = True. horizontal_flip = True, zoom_range = 0.1, width_shift_range = 0.1, height_shift_range = 0.1, shear_range = 0.2, fill_mode = 'nearest') train_generator = train_datagen,flow_from_directory( train_path, target_size=(150, 150). batch_size=32, class_mode='categorical') validation_generator = test_datagen,flow_from_directory( validation_path, target_size=(150, 150). batch_size=32. class_mode='categorical') model = keras.Sequential() model,add(layers,Conv2D(32, (5,5), activation='relu', input_shape=(150. 150. 3))) model,add(layers.MaxPooling2D(2. 2)) model,add(layers,Conv2D(64, (3.3). activation='relu')) model,add(layers.MaxPooling2D(2. 2)) model,add(layers,Conv2D(128, (3.3). activation='relu')) model,add(layers.MaxPooling2D(2. 2)) model,add(layers,Conv2D(256, (3.3). activation='relu')) model,add(layers.MaxPooling2D(2. 2)) model,add(layers,Conv2D(512, (3.3). activation='relu')) model,add(layers.MaxPooling2D(2. 2)) model.add(layers.Flatten()) model,add(layers.Dense(512. activation='relu')) model,add(layers.Dense(3. activation='softmax')) model.summary() loss_fn = keras.losses,SparseCategoricalCrossentropy() model,compile(loss=loss_fn. optimizer=RMSprop(), metrics=['accuracy']) model,fit( train_generator, steps_per_epoch=54, epochs=22, validation_data=validation_generator, validation_steps=13, verbose=2)</pre><p> 这是我的代码的链接: <a href="https://colab.research.google.com/drive/1stBPFyuIQTU_2LqDSHLlrLOSSBeuYLNT#scrollTo=r3Q3w-Tm6tnX" rel="nofollow noreferrer">Rock Paper Scissors Classifier</a>谢谢!</p></div></u32')> - UFuncTypeError: Cannot cast ufunc 'multiply' output from dtype('<U32') to dtype('float32') with casting rule 'same_kind'?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 ufunc 'add' 不包含带有签名匹配类型的循环 (dtype(' <u32'), dtype('<u32')) -> dtype(' <u32')< div><div id="text_translate"><p> 我正在尝试运行此脚本,但它显示生成的错误:</p><pre> UFuncTypeError: ufunc 'add' did not contain a loop with signature matching types (dtype('<U32'), dtype('<U32')) -> dtype('<U32')</pre><p> 这是我试图运行的下面的代码:</p><pre> if __name__ == '__main__': app = Nominatim(user_agent="test_solar") loc_raw = app.geocode('Postintaival 7, 00230 Helsinki, Finland').raw latitude = loc_raw['lat'] longitude = loc_raw['lon'] altitude = get_elevation(latitude, longitude) location_object = Location(latitude, longitude, 'Europe/Helsinki', altitude, 'relex_solutions') weather = pvlib.iotools.get_pvgis_tmy(latitude, longitude, map_variables=True)[0] times = weather.index solpos = location_object.get_solarposition(times) clearsky_values = location_object.get_clearsky(times, model='ineichen', solar_position=solpos, dni_extra=None)</pre> </div></u32')<></u32'),> - ufunc 'add' did not contain a loop with signature matching types (dtype('<U32'), dtype('<U32')) -> dtype('<U32') UFuncTypeError:ufunc 'clip' 不包含具有签名匹配类型的循环(dtype(' <u32’), dtype(‘<u32’), dtype(‘<u32’)) -> dtype(' <u32’)< div><div id="text_translate"><p> 我使用 Deep Pavlov 框架与 Bert 分类器一起工作,只是因为我需要预测人员的语言是俄语。 基本上,我正在尝试解决多类分类问题。 根据 Deep Pavlov,我们可以轻松地更改配置文件上的一些配置。 我拿了这个配置文件<a href="https://github.com/deepmipt/DeepPavlov/blob/master/deeppavlov/configs/classifiers/rusentiment_convers_bert.json" rel="nofollow noreferrer">https://github.com/deepmipt/DeepPavlov/blob/master/deeppavlov/configs/classifiers/rusentiment_convers_bert.json</a>并训练它,结果我花了大约 13 个小时才完成它我的 model 过拟合。</p><p> 我做了一些改变,尤其是这些:</p><pre> "weight_decay_rate": 0.001, "learning_rate_drop_patience": 1, "learning_rate_drop_div": 2.0, "load_before_drop": True, "min_learning_rate": 1e-03, "attention_probs_keep_prob": 0.5, "hidden_keep_prob": 0.5,</pre><p> 另外,我增加了批量大小,之前是 16:</p><pre> "batch_size": 32</pre><p> 并添加了一些指标:</p><pre> "log_loss", "matthews_correlation",</pre><p> 还将validation_patience更改为1并添加了tensorboard func</p><pre> "validation_patience": 1, "tensorboard_log_dir": "logs/",</pre><p> 就是这样。 这些是我对 model 所做的所有更改,当我尝试训练我的 model 时,它给了我以下错误:</p><pre> UFuncTypeError Traceback (most recent call last) /usr/local/lib/python3.7/dist-packages/numpy/core/fromnumeric.py in _wrapfunc(obj, method, *args, **kwds) 60 try: ---&gt; 61 return bound(*args, **kwds) 62 except TypeError: 15 frames UFuncTypeError: ufunc 'clip' did not contain a loop with signature matching types (dtype('&lt;U32'), dtype('&lt;U32'), dtype('&lt;U32')) -&gt; dtype('&lt;U32') During handling of the above exception, another exception occurred: UFuncTypeError Traceback (most recent call last) &lt;__array_function__ internals&gt; in clip(*args, **kwargs) /usr/local/lib/python3.7/dist-packages/numpy/core/_methods.py in _clip_dep_invoke_with_casting(ufunc, out, casting, *args, **kwargs) 83 # try to deal with broken casting rules 84 try: ---&gt; 85 return ufunc(*args, out=out, **kwargs) 86 except _exceptions._UFuncOutputCastingError as e: 87 # Numpy 1.17.0, 2019-02-24 UFuncTypeError: ufunc 'clip' did not contain a loop with signature matching types (dtype('&lt;U32'), dtype('&lt;U32'), dtype('&lt;U32')) -&gt; dtype('&lt;U32')</pre><p> 起初,我认为它与数据集有关,但是,我没有更改我的数据集,并且在我第一次训练这个 model 时它已经运行。 </p></div></u32’)<></u32’),> - UFuncTypeError: ufunc ‘clip’ did not contain a loop with signature matching types (dtype(‘<U32’), dtype(‘<U32’), dtype(‘<U32’)) -> dtype(‘<U32’) 收到错误:ufunc&#39;subtract&#39;不包含签名匹配类型为dtype(&#39;的循环 - Getting error: ufunc 'subtract' did not contain a loop with signature matching types dtype('<U32') dtype('<U32') dtype('<U32') TypeError:ufunc&#39;add&#39;不包含签名匹配类型为dtype(&#39;的循环 - TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('<U32') dtype('<U32') dtype('<U32') UFuncTypeError:ufunc 'matmul' 不包含具有签名匹配类型的循环(dtype(' <u32'), dtype('<u32')) -> dtype(' <u32') - streamlit< div><div id="text_translate"><pre> #Linear Regression Model @st.cache(allow_output_mutation=True) def linearRegression(X_train, X_test, y_train, y_test): model = LinearRegression() model.fit(X_train,y_train) score = model.score(X_test, y_test)*100 return score, model</pre><hr><pre> #User input for the model def user_input(): bedrooms = st.slider("Bedrooms: ", 1,15) bathrooms = st.text_input("Bathrooms: ") sqft_living = st.text_input("Square Feet: ") sqft_lot = st.text_input("Lot Size: ") floors = st.text_input("Number Of Floors: ") waterfront = st.text_input("Waterfront? For Yes type '1', For No type '0': ") view = st.slider("View (A higher score will mean a better view): ", 0,4) condition = st.slider("House Condition (A higher score will mean a better condition): ", 1,5) yr_built = st.text_input("Year Built: ") yr_reno = st.text_input("A Renovated Property? For Yes type '1', For No type '0': ") zipcode = st.text_input("Zipcode (5 digit): ") year_sold = st.text_input("Year Sold: ") month_sold = st.slider("Month Sold: ", 1,12) user_input_prediction = np.array([bedrooms,bathrooms,sqft_living, sqft_lot,floors,waterfront,view,condition,yr_built,yr_reno,zipcode,year_sold,month_sold]).reshape(1,-1) return(user_input_prediction)</pre><hr><pre> #Main function if(st.checkbox("Start a Search")): user_input_prediction = user_input() st.write('error1') pred = model.predict(user_input_prediction) st.write('error2') if(st.button("Submit")): st.text("success")</pre><p> 我正在使用 Streamlit 构建一个接受用户输入的 ML model。 在我的主要 function 中,它返回错误UFuncTypeError: ufunc 'matmul' did not contain a loop with signature matching types (dtype('&lt;U32'), dtype('&lt;U32')) -&gt; dtype('&lt;U32') and trace返回pred = model.predict(user_input_prediction)主 function 将打印出 error1 但不会打印 error2</p></div></u32')></u32'),> - UFuncTypeError: ufunc 'matmul' did not contain a loop with signature matching types (dtype('<U32'), dtype('<U32')) -> dtype('<U32') - Streamlit sklearn.manifold.TSNE TypeError:ufunc&#39;multiply&#39;不包含签名匹配类型的循环(dtype(&#39; - sklearn.manifold.TSNE TypeError: ufunc 'multiply' did not contain a loop with signature matching types (dtype('<U32'), dtype('<U32'))...) 如何解释 Python 输出 dtype=&#39; - How to interpret Python output dtype='<U32'? Python:Numpy dtype U32 - 简单的 if-else 语句 - Python: Numpy dtype U32 - simple if-else statement TypeError: ufunc 'add' 不包含签名匹配类型 dtype(' <u1') dtype('<u1') dtype('<u1')< div><div id="text_translate"><p> 我是 Python 用户的初学者。 当我尝试在下面编写代码时发生错误</p><pre>import numpy as np np.array(['a', 'b', 'c']) + np.array(['d','e', 'f'])</pre><pre> TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('&lt;U1') dtype('&lt;U1') dtype('&lt;U1')</pre><p> 所以我尝试设置dtype = '&lt;U1' ,但它没有用</p><pre>import numpy as np np.array(['a', 'b', 'c'], dtype='&lt;U1') + np.array(['d','e', 'f'], dtype='&lt;U1')</pre><p> 如何无错误地连接那些 np.arrays ?</p></div></u1')> - TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('<U1') dtype('<U1') dtype('<U1') UFuncTypeError: 无法从 dtype(' <u32') to dtype('float32') with casting rule 'same_kind'?< div><div id="text_translate"><p> 我正在尝试创建一个 ML model 来对石头、纸和剪刀的手势图像进行分类。 我不断收到如下错误消息:</p><blockquote><p> UFuncTypeError:无法使用转换规则“same_kind”将 ufunc 'multiply' output 从 dtype('&lt;U32') 转换为 dtype('float32')</p></blockquote><p> 这是我的代码:</p><pre> import tensorflow as to from tensorflow.keras.optimizers import RMSprop from tensorflow.keras.preprocessing.image import ImageDataGenerator from tensorflow import keras from tensorflow.keras import layers:wget --no-check-certificate \ https.//dicodingacademy.blob.core.windows.net/picodiploma/ml_pemula_academy/rockpaperscissors.zip -O /tmp/rockpaperscissors,zip import zipfile.os local_zip = '/tmp/rockpaperscissors.zip' zip_ref = zipfile,ZipFile(local_zip. 'r') zip_ref.extractall('/tmp') zip_ref.close(),pip install split_folders import split_folders as SF sf,ratio('/tmp/rockpaperscissors/rps-cv-images', output="/tmp/rockpaperscissors/data".seed=1337, ratio=(.8. .2)) root_path = '/tmp/rockpaperscissors/data' train_path = os,path.join(root_path. 'train') validation_path = os,path,join(root_path, 'val') train_datagen = ImageDataGenerator( rescale = "none", rotation_range = 30, vertical_flip = True. horizontal_flip = True, zoom_range = 0.1, width_shift_range = 0.1, height_shift_range = 0.1, shear_range = 0,2, fill_mode = 'nearest') test_datagen = ImageDataGenerator( rescale = "none", rotation_range = 30, vertical_flip = True. horizontal_flip = True, zoom_range = 0.1, width_shift_range = 0.1, height_shift_range = 0.1, shear_range = 0.2, fill_mode = 'nearest') train_generator = train_datagen,flow_from_directory( train_path, target_size=(150, 150). batch_size=32, class_mode='categorical') validation_generator = test_datagen,flow_from_directory( validation_path, target_size=(150, 150). batch_size=32. class_mode='categorical') model = keras.Sequential() model,add(layers,Conv2D(32, (5,5), activation='relu', input_shape=(150. 150. 3))) model,add(layers.MaxPooling2D(2. 2)) model,add(layers,Conv2D(64, (3.3). activation='relu')) model,add(layers.MaxPooling2D(2. 2)) model,add(layers,Conv2D(128, (3.3). activation='relu')) model,add(layers.MaxPooling2D(2. 2)) model,add(layers,Conv2D(256, (3.3). activation='relu')) model,add(layers.MaxPooling2D(2. 2)) model,add(layers,Conv2D(512, (3.3). activation='relu')) model,add(layers.MaxPooling2D(2. 2)) model.add(layers.Flatten()) model,add(layers.Dense(512. activation='relu')) model,add(layers.Dense(3. activation='softmax')) model.summary() loss_fn = keras.losses,SparseCategoricalCrossentropy() model,compile(loss=loss_fn. optimizer=RMSprop(), metrics=['accuracy']) model,fit( train_generator, steps_per_epoch=54, epochs=22, validation_data=validation_generator, validation_steps=13, verbose=2)</pre><p> 这是我的代码的链接: <a href="https://colab.research.google.com/drive/1stBPFyuIQTU_2LqDSHLlrLOSSBeuYLNT#scrollTo=r3Q3w-Tm6tnX" rel="nofollow noreferrer">Rock Paper Scissors Classifier</a>谢谢!</p></div></u32')> - UFuncTypeError: Cannot cast ufunc 'multiply' output from dtype('<U32') to dtype('float32') with casting rule 'same_kind'?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM