Python遇到的错误。

(仅记录个人问题,能力有限,仅供参考,错了不管)

哦,对了,代码格式化

Ctril+Shift+i..我先按了,你随意。

1.TypeError: ‘dict_keys’ object does not support indexing

版本不兼容问题。

 for i in range(m):
            #这里有py版本问题
            #result_i.append((predict(data[i][0:-1], clf).keys())[0])  #py2.X
            #py3.x  字典先转list,再提取索引
            firstSides=list((predict(data[i][0:-1], clf).keys()))
            firstStr=firstSides[0]
            result_i.append(firstStr)

3.Xdict如果要提取索引,建议先转list

2.同包里面为啥就是不给我引用块?有毒?

路径问题。。

如图,这是文件目录结构,我想在  train_random_forest.py里面引用 tree.py,, 

from tree import predict   会报错,

为啥?凭什么?

原因:根目录问题。

我文件的根目录是啥我都蒙了,应该是studyPythonMl

改了半天,,神烦。

百度了下。

1:绝对路径, D:\studyPythonMl\study_ML_Python3.x

2:用sys

import sys
sys.path.append(r'D:\Aipanbo\Python_Book_ML\SVM')
import svm

3:我自己的方法

前两种自己百度,

这个里面有个 Resource root,我把study_ML_python3.x设置为根目录。

这样的话,我这样写就o98k了。


from random_Forest.tree import build_tree, predict

 

 

3.cPickle版本问题。

py3.x中,改了

import _pickle as pickle

这样就行,

然后问题又来了。

3.1pickle.dump问题

要保存的话,记得用'wb'而不是'w'。原因是这玩意是二进制。

    with open(result_file, 'wb') as f:
        pickle.dump(trees_result, f)

那么问题来了。。我这样保存的东西,,,打开是乱码,,因为是二进制。

我想打开的文件是可阅读的。

首先。。pickle存储,本质就不是给你拿来读的

4.TensorFlow运行遇到的问题。
1.2018-10-11 16:19:07.281928: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2

CPU可以被优化的问题。

开头加2行代码

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

ok。不报错了。但是

2. FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters

h5py这个包的问题,升级一下。

搞定!

5.Python创建文件自动添加头注释。

File->settings->Editor->File and Code Templates->Python Script

添加如下代码

# -*- coding: utf-8 -*-
# @File  : ${NAME}.py
# @Author: Panbo
# @Date  : ${DATE}
# @Desc  : 
#@license : Copyright(C), Your Company  #授权信息 
#@Contact : XXXXXX@gmail.com  #你的邮箱  
#@Software : ${PRODUCT_NAME}   #软件

美滋滋!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值