林深见鹿时 2020-03-29 22:42 采纳率: 0%
浏览 3389

TypeError: 'numpy.float64' object is not iterable

版本:python3.7 numpy 1.18.2
利用word2vec进行词向量训练时候遇到的问题
load_data方法是可以运行的
控制台打印出 训练中 然后就报错了
下面是错误信息:
Traceback (most recent call last):
File "F:/Word2Vec-sentiment-master/Word2Vec-sentiment-master/wvtrain.py", line 65, in
Train(y_test, window=3).train()
File "F:/Word2Vec-sentiment-master/Word2Vec-sentiment-master/wvtrain.py", line 41, in train
sentence, size=self.size, window=self.window, workers=2, sg=0
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\gensim\models\word2vec.py", line 783, in init
fast_version=FAST_VERSION)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\gensim\models\base_any2vec.py", line 759, in init
self.build_vocab(sentences=sentences, corpus_file=corpus_file, trim_rule=trim_rule)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\gensim\models\base_any2vec.py", line 936, in build_vocab
sentences=sentences, corpus_file=corpus_file, progress_per=progress_per, trim_rule=trim_rule)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\gensim\models\word2vec.py", line 1592, in scan_vocab
total_words, corpus_count = self._scan_vocab(sentences, progress_per, trim_rule)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\gensim\models\word2vec.py", line 1575, in _scan_vocab
for word in sentence:
TypeError: 'numpy.float64' object is not iterable

class Train(object):

def __init__(self, data_path, size=50, window=5):
    self.size = size
    self.window = window
    self.data_path = data_path
    #self.min_count=min_count

def load_data(self):
    print('loading data...')
    sentence = np.load(self.data_path)
    print('loading data done')
    return sentence

def train(self):
    # Load file
    sentence = self.load_data()
    print("训练中...")
    model = word2vec.Word2Vec(

        sentence, size=self.size, window=self.window, workers=2, sg=0
    )
    # model = word2vec.Word2Vec(sentence, sg=0, hs=1, min_count=1, window=5, size=300)

    # Save model

    train_model=model(x_train,'train.pkl')
    test_model=model(x_test,'test.pkl')

    #model_name = 'model_gensim.bin'
    model.wv.save_word2vec_format(train_model)
    model.wv.save_word2vec_format(test_model)
    print("训练完成,模型已存储到{}".format(train_model))

    print("训练完成,模型已存储到{}".format(test_model))

if name == "__main__":
# file_path = 'Hupu.txt'
# Train(file_path, window=3).train()
x_train = 'x_train_data.npy'
x_test = 'x_test_data.npy'
y_train = 'y_train_data.npy'
y_test = 'y_test_data.npy'
Train(y_test, window=3).train()
Train(x_train, window=3).train()
Train(y_train, window=3).train()
Train(x_test,window=3).train()

  • 写回答

1条回答 默认 最新

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配