1:load权重文件(.h5)时,报错"AttributeError: ‘str’ object has no attribute ‘decode’"
解决方法:
pip install ‘h5py<3.0.0’ -i https://pypi.tuna.tsinghua.edu.cn/simple
2:Inconsistent use of tabs and spaces in indentation
解决方法:检查缩进
3:SyntaxError: invalid character in identifier
解决方法:大概率是符号用成中文
4:IndexError: index 12 is out of bounds for axis 1 with size 12
解决方法:超过axis=1的最大容量,12容量的最大是11
5:AttributeError: ‘Tensor’ object has no attribute ‘_keras_history’
解决方法:
错误原因是keras的数据类型和tensorflow的数据类型不同,两者不能够混用
在定义层的时候
X = X_shortcut + X;
应该是X = Add()([X_shortcut,X])
链接: link.
6:TypeError: Input ‘b’ of ‘MatMul’ Op has type float32 that does not match type float64 of argument 'a
解决方法:tf.cast(x,tf.float32)
7.tf.reduce_sum()
用于计算张量tensor沿着某一维度的和,可以在求和后降维。
8(reshape(-1, m)即列数固定,行数需要计算)
9 keras.backend.clip(x, min_value, max_value)
逐元素clip(将超出指定范围的数强制变为边界值)
10 keras.backend.epsilon
用法:返回数值表达式中使用的模糊因子的值。
返回:一个浮点数。
keras.backend.epsilon()
1e-07
11 在使用x.get_shape().as_list()的前提:x必须为tensor类型
x.get_shape()返回的是一个<‘TensorShape’>的元组类型,as_list()将结果转化为list类型
12 tpye(变量) 查看变量类型
13 linux中查看python的安装路径
方法1:whereis python
查看所有python的路径,不止一个
方法2:which python
查看当前使用的python路径
14 tf.einsum
einsum( equation, *inputs)
Matrix multiplication
einsum(‘ij,jk->ik’, m0, m1) # output[i,k] = sum_j m0[i,j] * m1[j, k]
Dot product
einsum(‘i,i->’, u, v) # output = sum_i u[i]*v[i]
Outer product
einsum(‘i,j->ij’, u, v) # output[i,j] = u[i]*v[j]
Transpose
einsum(‘ij->ji’, m) # output[j,i] = m[i,j]
Batch matrix multiplication
einsum(‘aij,ajk->aik’, s, t) # out[a,i,k] = sum_j s[a,i,j] * t[a, j, k]
15 ubuntu 输出重定向到文件
有时候希望想将在终端输出的信息保存到文件,直接在命令后面加上> filename即可
有时候希望同时输出到文件和终端窗口,直接在命令后加上| tee filename即可
举例:
echo 3 > 1.txt
echo 3 | tee 1.txt
16:AttributeError: ‘NoneType‘ object has no attribute ‘_inbound_nodes‘
解决:定义keras中model的layer层,如果用到tf或者keras没有自带的层,需要用lamda层封装
up8 = Lambda(cbam_module)(up8)
17:opencv中imshow内部的参数类型可以分为两种。(1)当输入矩阵是uint8类型的时候,此时imshow显示图像的时候,会认为输入矩阵的范围在0-255之间。(2)如果imshow的参数是double类型的时候,那么imshow会认为输入矩阵的范围在0-1。
解决方法:a=a.astype(np.int8)