• windows+python3.6下安装fasttext+fasttext在win上的使用+gensim(fasttext)


    转自:windows+python3.6下安装fasttext+fasttext在win上的使用+gensim(fasttext)

    真是坑了好久,faxttext对win并不是很友好,所以遇到了很多坑,记录下来,以供大家少走弯路。

    法1:刚开始直接用pip install fasttext,最后一直报下面这个错误

    “error:Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools”,然后我按着链接去找,已经没有了,最后只好在网上其他博客找到链接,根据stackoverflow上的帮助下载Visual Studio Community 2017安装,然而。。。。。

    上面是别人的方法:先去安装vs2017+fasttext安装包,别人的步骤(https://blog.csdn.net/m0_37870649/article/details/80935307)

      一、点击下载 source code(zip) 文件

      二、解压后在该文件下打开 cmd, 输入pip setup.py install

    上面这种方法我试了,然后,出现了系统提示没有setup.py model,所以我又查了这个错误,然后最后用了这两步(我觉得其他出现类似问题都可以如此)
    •   先下载你要安装的包,并解压到磁盘下;
    •   进入到该文件的setup.py 目录下,打开cmd,并切换到该目录下;
    •   先执行 python setup.py build
    •   然后执行 python setup.py install

    执行是成功了,可是又回到了最开始的问题,还是提示

    “error:Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools”

    【不知为何,上面这些步骤别人安装成功了,我却没有,不知道为啥!!!!】

    法2 :也就是本文时用的方法:参考博客https://blog.csdn.net/qq_17814041/article/details/80041189

    首先去python的各种第三方安装包:https://www.lfd.uci.edu/~gohlke/pythonlibs/#fasttext找到适合自己版本的.whl文件,然后下载安装,具体可参考上面的博客链接。

    我这里要强调的是:!!!!!!!按照上面的安装也确实安装成功了,但是我并不能像作者那样子调用,(直接import fasttext),系统提示没有这个模型,其实应该这样子调用,注意!注意!!注意!!!

    调用示例:

    1
    2
    import fastText.FastText as ff
    classifier = ff.train_supervised("data/try_fasttext_train.txt")

    就可以看到

    想要存下 model 或 用来预测 等

    1
    2
    3
    4
    model = classifier.save_model('data/try.model'# 保存模型
    test = classifier.test('data/try_fasttext_test.txt'# 输出测试结果
    classifier.get_labels() # 输出标签
    pre = classifier.predict('文本'#输出改文本的预测结

    对比调用 fasttext 包的命令,调用方式是不一样的,小伙伴要注意了。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import fasttext
    #训练模型
    classifier = fasttext.supervised("data/try_fasttext_train.txt","data/try_fasttext.model",label_prefix="__label__")
      
    #load训练好的模型
    #classifier = fasttext.load_model('data/try_fasttext.model.bin', label_prefix='__label__')
      
    result = classifier.test("data/try_fasttext_test.txt")
    print(result.precision)
    print(result.recall)

    这样就okay啦!!!

    法3:费了好大劲,才发现原来gensim.models上就可以调用fasttext!!!(本人已有,如果有gensim的话,小伙伴就会省很多力气了)

    具体使用详情可以参考gensim官网使用手册,介绍的很详细:https://radimrehurek.com/gensim/models/fasttext.html

  • 相关阅读:
    POJ 3630 Phone List/POJ 1056 【字典树】
    HDU 1074 Doing Homework【状态压缩DP】
    POJ 1077 Eight【八数码问题】
    状态压缩 POJ 1185 炮兵阵地【状态压缩DP】
    POJ 1806 Manhattan 2025
    POJ 3667 Hotel【经典的线段树】
    状态压缩 POJ 3254 Corn Fields【dp 状态压缩】
    ZOJ 3468 Dice War【PD求概率】
    POJ 2479 Maximum sum【求两个不重叠的连续子串的最大和】
    POJ 3735 Training little cats【矩阵的快速求幂】
  • 原文地址:https://www.cnblogs.com/bingyangzhang/p/10341308.html
Copyright © 2020-2023  润新知