• 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),系统提示没有这个模型,其实应该这样子调用,注意!注意!!注意!!!

    调用示例:

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

    就可以看到

    想要存下 model 或 用来预测 等

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

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

    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

     

     

      

      

     

  • 相关阅读:
    POJ2456 Aggressive cows
    Binary Search
    Leetcode1025 Divisor Game
    我的高中生活目标
    leetcode155 min stack
    Leetcode983 Minimum Cost For Tickets
    合并两个有序数组
    X的平方根
    力扣第35场双周赛
    整数反转
  • 原文地址:https://www.cnblogs.com/gaofighting/p/9552821.html
Copyright © 2020-2023  润新知