3.2.8.1 熟悉推荐系统基本流程问答整理


文档摘要

Task01问答整理 Task01整体流程(外加录屏整理) 本次组队学习的内容以github上第二章第二节为主,具体每次的学习内容和重点已经在对应章节下的README.md中,大家忘记的可以随时取查看。 https://github.com/datawhalechina/fun-rec 可以先体验一下本次学习内容的成果 fun-rec项目中的新闻推荐系统开方测试了,地址:http://47.108.56.188:8686/,由于服务器比较拉胯,大家刷内容的时候可能会比较慢希望大家理解(第一次进系统尤其的慢),目前仍然可能存在一些bug,希望大家发现bug之后及时跟我们反馈呀。 最新的代码也已经上传到了github上面,感兴趣的可以去看看 https://github.

Task01问答整理

Task01整体流程(外加录屏整理)

  • 本次组队学习的内容以github上第二章第二节为主,具体每次的学习内容和重点已经在对应章节下的README.md中,大家忘记的可以随时取查看。
    https://github.com/datawhalechina/fun-rec

  • 可以先体验一下本次学习内容的成果
    fun-rec项目中的新闻推荐系统开方测试了,地址:http://47.108.56.188/,由于服务器比较拉胯,大家刷内容的时候可能会比较慢希望大家理解(第一次进系统尤其的慢),目前仍然可能存在一些bug,希望大家发现bug之后及时跟我们反馈呀。

  • 最新的代码也已经上传到了github上面,感兴趣的可以去看看
    https://github.com/datawhalechina/fun-rec

  • 作者寄语:

    ​ 和DWer和准DWer们一起花了近两个月实现了一个新闻推荐系统的demo,这段时间真的辛苦大家了,很多系统出问题调bug都是拉个腾讯会议讨论解决方案,包括现在每天起来的一件事就是查看一下系统挂了没有,哪里不正常。

    ​ 内容虽然没有任何商业价值,但是对于还是学生的我们来说,挑战还是非常大的,需要大家一起齐心协力的合作,用现有的技术组装出一个能正常跑起来的推荐系统。

    ​ 本次内容量比较多,要想更好的完成本次组队学习任务也需要每个队伍的同学互相帮助,比如大家也可以考虑分工,最后互相分享的学习。相信大家在本次的组队学习中收获的不仅仅是系统中涉及到的相关技术,还能收获到一群和自己志同道合的朋友。

    ​ 最后就是我们其实也是做系统的外行,代码或者系统的逻辑肯定存在很多问题。如果大家有更好的建议,我们也可以进一步交流,互相学习。

  • Task01录屏(罗如意)

    https://datawhale.feishu.cn/minutes/obcnzns778b725r5l535j32o

  • 环境配置(windows)交流会议:

    操作系统:Windows10
    MySQL:8.0.25
    Redis:5.0.14
    Mongodb:5.0.5
    Python:3.8

    录屏:
    链接:https://pan.baidu.com/s/1eggcmXP9j2Cm8Y9daNJuBA?pwd=acon 提取码:acon

  • 作业分享:https://relph1119.github.io/my-team-learning/#/recommender_system32/task01

  • 总结:链接:https://pan.baidu.com/s/1eggcmXP9j2Cm8Y9daNJuBA?pwd=acon 提取码:acon

问题解答

  • 问:在执行Scrapy进行新闻爬取实战的时候,写不进去mongdb数据库

    image-20210308142624189
    image-20210308142624189

    答:mongodb安装是否成功?有没有报错之类的。

    问:成功安装。爬虫已经成功,我看title content已经有数据了

    image-20210308142624189

    答:你这里是不是什么都没有,你退出mongo命令行重新进入查看一下呢?

    image-20210308142624189

    问:对,我是在windows下做的,还是没有

    image-20210308142624189

    答:你看下这个路径是不是有问题,我这里好像忘记改成fun-rec的路径了,你改成fun-rec下的路径再试试,有可能这里没有的参数没有导入进去。

    问:是setting这个表吗?

    答:你看看,应该是数据库那块的参数配置有问题。

    问:setting在,在settings里面固化了的。

    答:你这个代码是不是很早之前就下载的。嗷,想起来了。文档里面的内容没改。不过应该不影响。

    问:就是开课的时候下载的。

    答:不过应该不影响,代码你是自己单独写呢?还是运行的fun-rec下的code代码?你检查下pipline下面,看参数配置是否有问题,写一点print查看一下,然后在这里单独使用insert方法插入点东西查看是否有问题。

    image-20210308142624189

    问(解决):找到问题了,在copy piplines文件的时候,def类没有对齐。

    image-20210308142624189
  • 问:linux一般软件安装都放在哪个目录下面啊?是usr/local吗?

    答:这个看自己的习惯

  • 问:出现跨域问题如何解决?

    答:还需要启动snowflaske服务,启动代码为:

    snowflake_start_server --address=127.0.0.1 --port=8910 --dc=1 --worker=1
  • 问:如何修改redis配置?

    答:https://blog.csdn.net/qq_39007083/article/details/105083156

  • 问:stop-writes-on-bgsave-error no报错

    答:这个可能和安装有关

  • 问:服务没启动问题

    image-20210308142624189

    答:对,需要安装,启动这个服务,已经加入到文档中。

    image-20210308142624189
    image-20210308142624189
  • 问:redis key的问题如何处理?

    答:https://github.com/datawhalechina/fun-rec/blob/master/codes/news_recsys/news_rec_server/recprocess/README.md

  • 问:No module named 'conf.dao_config' 没有正确识别包,怎么办?

    答1:看一下自己的路径是不是正确导入了,有可能跟系统有关,需要自己调整一下。

    答2:这个问题,我遇到过,直接执行sh,在Windows下会出现,目前采用手动执行py脚本方式。

    答:嗯嗯,我也先手动。

    答:查到解决方法了,把出问题的地方sys.path.append("")换成sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))就可以了

  • 问:是否可能在教程中强调一下node版本的约束?前端部分很多dependency较老,比如node-sass包在较新node环境会编译错误。

    答:直播时强调了,linux最好用项目目录下的那个node版本

  • 问:linux时间是2021-7-20。结果redis用make编译的时候提示创建不完善(我是windows下的redis文件传到linux,结果显示安装文件是未来的文件)

    答:clock screw问题可以通过touch修正一下错误的文件时间就可以了

  • 问:在终端执行:snowflake_start_server [--dc=DC_ID] [--worker=WORKER_ID] [--host=ADDRESS] [--port=PORT],报错显示-bash: snowflake_start_server: 未找到命令,怎么解决。

    答:看一下是否安装呢?运行的时候没有带参数吗?

    问:带了参数,是snowflake_start_server --address=127.0.0.1 --port=8910 --dc=1 --worker=1

    答:检查path里面是否有user site,试一试这个指令export PATH=$PATH:"$(python3.8 -c 'import site; print(site.USER_BASE)')/bin"

    答:有反应了,可以修复,谢谢。

  • 问:如何手动爬取信息?

    答:手动方式,文档中有写,直接运行单独的py脚本即可。

    https://docs.scrapy.org/en/latest/topics/settings.html#download-delay

  • 问:请问pip install的报错如何改正

    答:指令修改为:

    npm install -g cnpm --registry=https://registry.npm.taobao.org
    cnpm install

    问:还是不行,有两条指令只报了warning,装完之后npm install还是会报找不到pythonpemition deny

    答:把node modules删掉重新用cnpm装一下试试,代码如下:

    npm install rimraf -g

    rimraf node_modules

    问:还是报python错误,经过面向搜索引擎开发,有提到用sudo,但是发现还是不行,实际原因是由于用的是root账户权限执行npm,而npm默认是不适用root权限创建内容,因此会出现权限问题而导致失败,加上参数--unsafe-perm=true --allow-root即可解决问题。

    答:步骤是:首先要装py2apt install python2。然后换cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.org, cnpm install。然后删掉modulesnpm install rimraf -grimraf node_modules。然后root用户的话npm install --production --unsafe-perm=true --allow-root。非root:sudo npm install

  • 问:TODO: 设置开机自启动
    启动mongodb(服务器断电之后就会断开链接):
    sudo ./mongod --dbpath=/usr/local/mongodb/data/ --fork --logpath=/usr/local/mongodb/log

​ TODO: 设置开机自启动
​ 启动redis
​ redis-server --daemonize yes --port 6378 --requirepass 123456
​ redis-cli --raw

​ ./mongod 这个是在哪里的?

​ 答:就是你安装的mongdb的目录下面的bin文件里面的东西,你得看一下是安装到哪里了,找到对应的可执 行 脚本就行。

​ 问:没有userinfo这个库是否需要先建库?

​ 答:需要。表的话代码里面有这块的内容,会自动构建。你可以先测试sqlalchemy是否可以正常创建表。

  • 问:sh: 1: webpack-dev-server: not found,开启前端服务报这个错

    答:cnpm install一下就好了

  • 问:外网访问的这个,除了设置main.js里的axios.defaults.baseURL = "http://服务i去公网ip:3000",然后防火墙开3000端口和8686端口之外还有什么要设置的么

    答:flask 0.0.0.0vue 0.0.0.0外网访问

  • 问:跨域问题是啥意思?

    答:https://blog.csdn.net/qq_38128179/article/details/84956552

  • 问:为什么我的项目都启动了,用户也注册成功了,但是datagrip里面MongoDB下没有那两个数据库,mysql两个数据库下面没有对应的表?

    答:数据库,右键刷新一下就出来了

    问:都有了,反应有点慢

  • 问:加载比较慢怎么办?

    答:如果初始化就很慢的话可以把router.js里引入component的方式换成component: () => import('./components/recLists.vue'),会快一点点

  • 问:为什么这一次运行process_user.py会报错,没这表啊?看报错好像是语法格式的问题。

    答:数据库版本问题

  • 问:关于服务:

    答:服务器从8686发送htmlbrowser渲染和执行代码,本地browser向服务器3000端口发送请求,所以后端服务器要bind0.0.0.0保证公网可以访问。

  • 问:Datagrip连接mongodb之后数据库显示current database is not introspected可能是什么原因导致的?

    答:不用管,如果没有数据,这个库是不会显示的。

  • 问:运行后端server遇到过这个报错吗?

    image-20210308142624189

    答:重新安装下cryptography这个包

    问:还是不行

    答:有可能包冲突导致的,重建一个本地python环境

  • 问:爬虫的时候报cryptography的错误,但是后端server服务是可以开启的,是什么原因?

    答:pip install -l cryptography == 35.0.0可以解决。


发布者: 作者: 转发
评论区 (0)
U