近期python问题汇总
- python错误提示“non-default argument follows default argument”
- pandas.read_csv() 报错 OSError: Initializing from file failed
- ValueError:Input 0 is incompatible with layer lstm_1: expected ndim=3,found ndim=4
- 多输入模型
- python 导入数据错误:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 0: invalid start
python错误提示“non-default argument follows default argument”
含有默认值的参数必须放到不含默认值的后面。
1
2def ConvBNReluUnit(kernel_size = 8,index = 0,num=1,input):
解决:调换一下参数的位置
1
2def ConvBNReluUnit(input1,kernel_size = 8,index = 0,num=1):
pandas.read_csv() 报错 OSError: Initializing from file failed
一般由两种情况引起:一种是函数参数为路径而非文件名称,另一种是函数参数带有中文。
学习
我出现问题是因为路径含有中文。
解决办法:
1
2da4=pd.read_csv('F:\工程清单.csv',engine='python')
ValueError:Input 0 is incompatible with layer lstm_1: expected ndim=3,found ndim=4
往模型里加lstm层,产生的错误
原因是lstm层需要3维数据,而我的是4维
下例:
res_stack_d (Conv2D) (None, 125, 2, 16) 784
res_stack_e (Conv2D) (None, 63, 2, 32) 1568
所以需要将其reshape维数为3维,这里用到keras内的Reshape函数
解决:
1
2
3
4
5
6model.add(Conv2D(64, kernel_size=(3, 1), strides=(2, 1), padding='valid')) model.add(Conv2D(64, kernel_size=(3, 1), strides=(1, 1), padding='same')) model.add(Reshape((60,64))) model.add(LSTM(units=100,return_sequences = True))
提前算好卷积层的输出,并进行reshape操作。
这里有一个误区:
为什么明明lstm层需要的是3维数据,而我这里的reshape内只有2维的(60,64)呢?
其实是这里少了一个None
正常的模型对样本个数都是不做固定要求的,输入模型的可以是(None,1024,1024)
模型中间层也可以处理类似(None,1024,1024)的输入
所以算上None刚好是三维,这里的Reshape函数就不考虑这个None,直接输入后面两维进行Reshape
多输入模型
参考链接
我理解如果要使用多输入模型或者类似Resnet的网络,就不能用
1
2model = Sequential()
这种序列模型,而是应该直接用API模型,具体见
例如:
1
2
3
4
5
6
7
8
9sig_input = Input(shape=input_shape,name='Input') x = sig_input x = Conv2D(8, kernel_size=(3, 1), strides=(2, 1), padding='same', input_shape = (X_train.shape[1:]),name =conv_name_base+"a")(x) x = BatchNormalization(name=bn_name_base + 'a')(x) #x = add([x, sig_input]) #x = Activation('relu')(x) x = Conv2D(8, kernel_size=(3, 1), strides=(1, 1), padding='same',name =conv_name_base+"b")(x)
python 导入数据错误:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xb5 in position 0: invalid start
https://blog.csdn.net/wang7807564/article/details/78164855
https://blog.csdn.net/qq_35892623/article/details/82941473
对我都用处不大,希望大家有好办法可以告诉我
我最后的解决办法只能是删掉函数文件内的中文注释。。。。
最后
以上就是清脆黑夜最近收集整理的关于近期python与keras问题汇总190905python错误提示“non-default argument follows default argument”pandas.read_csv() 报错 OSError: Initializing from file failedValueError:Input 0 is incompatible with layer lstm_1: expected ndim=3,found ndim=4多输入模型python 导入数据错误:UnicodeDe的全部内容,更多相关近期python与keras问题汇总190905python错误提示“non-default内容请搜索靠谱客的其他文章。
发表评论 取消回复