HH vs SY 2021-06-03 21:30 采纳率: 100%
浏览 56
已采纳

请问一下这个错误应该怎么修改呢?

import numpy as np
from sklearn.svm import SVC
from sklearn.externals import joblib
from sklearn.metrics import roc_curve, auc
import matplotlib.pyplot as plt


def load_hog_data(hog_txt):
    """ load hog features.
    Args:
        hog_txt: a txt file used to save hog features.
            one line data is formated as "img_path \t cls_num \t hog_feature_vector"
    Return:
        img_names: a list of image names.
        labels: numpy array labels (1-dim).
        hog_feature: numpy array hog features.
            formated as [[hog1], [hog2], ...]
    """
    img_names = []
    labels = []
    hog_features = []
    with open(hog_txt, "r") as f:
        data = f.readlines()
        for row_data in data:
            row_data = row_data.rstrip()
            img_path, label, hog_str = row_data.split("\t")
            img_name = img_path.split("\\")[-1]
            hog_feature = hog_str.split(" ")
            hog_feature = [float(hog) for hog in hog_feature]
            # print "hog feature length = ", len(hog_feature)
            img_names.append(img_name)
            labels.append(int(label))
            hog_features.append(hog_feature)
    return img_names, np.array(labels), np.array(hog_features)


def svm_train(hog_features, labels, save_path="\svm_model.pkl"):
    """ SVM train
    Args:
        hog_feature: numpy array hog features.
            formated as [[hog1], [hog2], ...]
        labels: numpy array labels (1-dim).
        save_path: model save path.
    Return:
        none.
    """
    clf = SVC(C=10, tol=1e-3, probability=True)
    clf.fit(hog_features, labels)
    joblib.dump(clf, save_path)
    print("finished.")


def svm_test(svm_model, hog_feature, labels):
    """SVM test
    Args:
        hog_feature: numpy array hog features.
            formated as [[hog1], [hog2], ...]
        labels: numpy array labels (1-dim).
    Return:
        accuracy: test accuracy.
    """
    clf = joblib.load(svm_model)
    accuracy = clf.score(hog_feature, labels)
    return accuracy


def plot_roc_auc(clf, x_test):
    y_test = clf.predict(x_test)
    y_score = clf.decision_function(x_test)
    fpr, tpr, threshold = roc_curve(y_test, y_score)
    roc_auc = auc(fpr, tpr)
    plt.figure()
    plt.plot(fpr, tpr)
    plt.plot([0, 1], [1, 0])
    plt.xlim([0.0, 1.0])
    plt.ylim([0.0, 1.05])
    plt.xlabel('False Positive Rate')
    plt.ylabel('True Positive Rate')
    plt.title('Receiver operating characteristic example')


if __name__ == "__main__":
    hog_train_txt = "D:\computer_vision\proposals_train_hog.txt"
    hog_test_txt = "D:\computer_vision\proposals_test_hog.txt"
    model_path = "\svm_model.pkl"

    train = False

    if train is True:
        img_names, labels, hog_train_features = load_hog_data(hog_train_txt)
        svm_train(hog_train_features, labels, model_path)
    else:
        img_names, labels, hog_test_features = load_hog_data(hog_test_txt)
        test_accuracy = svm_test(model_path, hog_test_features, labels)
        print
        "test accuracy = ", test_accuracy

        # clf = joblib.load(model_path)
        # plot_roc_auc(clf, hog_test_features)

报错:

Traceback (most recent call last):
  File "C:/Users/samyeung/PycharmProjects/pythonProject/svm_train.py", line 94, in <module>
    test_accuracy = svm_test(model_path, hog_test_features, labels)
  File "C:/Users/samyeung/PycharmProjects/pythonProject/svm_train.py", line 62, in svm_test
    clf = joblib.load(svm_model)
  File "C:\Users\samyeung\PycharmProjects\pythonProject\venv\lib\site-packages\sklearn\externals\joblib\numpy_pickle.py", line 590, in load
    with open(filename, 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '\\svm_model.pkl'

Process finished with exit code 1


 

  • 写回答

5条回答 默认 最新

  • CSDN专家-Time 2021-06-03 21:31
    关注

    No such file or directory: '\\svm_model.pkl'

    检查一下你的model是否存在呢

    训练集不存在!!!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上