鱼C论坛

 找回密码
 立即注册
查看: 1536|回复: 15

系统找不到指定的路径

[复制链接]
发表于 2022-2-3 19:36:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问这是什么原因报错?数据集文件已经和工程文件放在同一个目录下了
1.PNG
2.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-3 19:46:41 | 显示全部楼层
你把directory = "_path_to_dataset_"
改成directory = "./你的数据集文件"

可以把数据集文件的文件名截图或发给我吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-3 19:51:53 | 显示全部楼层
数据集文件是个压缩包,我已经解压并重命名为dataset但是还是报错
3.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-3 19:52:32 | 显示全部楼层
ckblt 发表于 2022-2-3 19:46
你把directory = "_path_to_dataset_"
改成directory = "./你的数据集文件"

数据集文件是个压缩包,我已经解压并重命名为dataset但是还是报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-3 20:26:54 | 显示全部楼层
你是解压到dataset文件夹里了,对吧?
那你应该改为directory ="./dataset"
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-3 20:28:56 | 显示全部楼层
_path_to_dataset_翻译成中文是 “dataset的路径”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-3 20:31:26 | 显示全部楼层
名字只有七个字 发表于 2022-2-3 20:26
你是解压到dataset文件夹里了,对吧?
那你应该改为directory ="./dataset"

改了之后又有新的错误还是找不到系统路径
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-3 20:34:33 | 显示全部楼层
报错截图,和代码所在文件夹截图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-3 20:38:25 | 显示全部楼层
名字只有七个字 发表于 2022-2-3 20:34
报错截图,和代码所在文件夹截图

这个.mf文件是压缩包里面的文件
4.PNG
5.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-3 20:40:47 | 显示全部楼层
你能把全部代码发过来吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-3 20:41:58 | 显示全部楼层
名字只有七个字 发表于 2022-2-3 20:40
你能把全部代码发过来吗?

from python_speech_features import mfcc
import scipy.io.wavfile as wav
import numpy as np
from tempfile import TemporaryFile
import os
import pickle
import random
import operator
import math
import numpy as np



def getNeighbors(trainingSet, instance, k):
    distances = []
    for x in range (len(trainingSet)):
        dist = distance(trainingSet[x], instance, k )+ distance(instance, trainingSet[x], k)
        distances.append((trainingSet[x][2], dist))
    distances.sort(key=operator.itemgetter(1))
    neighbors = []
    for x in range(k):
        neighbors.append(distances[x][0])
    return neighbors



def nearestClass(neighbors):
    classVote = {}
    for x in range(len(neighbors)):
        response = neighbors[x]
        if response in classVote:
            classVote[response]+=1
        else:
            classVote[response]=1

    sorter = sorted(classVote.items(), key = operator.itemgetter(1), reverse=True)
    return sorter[0][0]

def getAccuracy(testSet, predictions):
    correct = 0
    for x in range (len(testSet)):
        if testSet[x][-1]==predictions[x]:
            correct+=1
    return 1.0*correct/len(testSet)



directory = "./dataset"
f= open("my.dat" ,'wb')
i=0

for folder in os.listdir(directory):
    i+=1
    if i==11 :
        break
    for file in os.listdir(directory+folder):
        (rate,sig) = wav.read(directory+folder+"/"+file)
        mfcc_feat = mfcc(sig,rate ,winlen=0.020, appendEnergy = False)
        covariance = np.cov(np.matrix.transpose(mfcc_feat))
        mean_matrix = mfcc_feat.mean(0)
        feature = (mean_matrix , covariance , i)
        pickle.dump(feature , f)
f.close()

def loadDataset(filename , split , trSet , teSet):
    with open("my.dat" , 'rb') as f:
        while True:
            try:
                dataset.append(pickle.load(f))
            except EOFError:
                f.close()
                break

    for x in range(len(dataset)):
        if random.random() <split :
            trSet.append(dataset[x])
        else:
            teSet.append(dataset[x])

trainingSet = []
testSet = []

leng = len(testSet)
predictions = []
for x in range (leng):
    predictions.append(nearestClass(getNeighbors(trainingSet ,testSet[x], 5)))

accuracy1 = getAccuracy(testSet, predictions)
print(accuracy1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-3 20:45:59 | 显示全部楼层
试试把56行的for file in os.listdir(directory+folder):改为for file in os.listdir(directory+"/"+folder):
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-3 20:49:00 | 显示全部楼层
名字只有七个字 发表于 2022-2-3 20:45
试试把56行的for file in os.listdir(directory+folder):改为for file in os.listdir(directory+"/"+folder ...

不行
6.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-3 20:51:16 | 显示全部楼层
。。。
你应该在56行前判断一下folder是不是个目录(folder不是文件)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-3 22:02:10 | 显示全部楼层
directory = "./dataset/"

加个斜杠试试!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-11 17:04:13 | 显示全部楼层
vscode中python插件的问题,工作路径并非当前路径下,所以找不到。用绝对路径呗!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-6 06:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表