现在的问题是如何确定MainAddress。
发现NodeType也要事先确定。
现在NT通过Helper中的SetNodeTypeMap传递,并在Helper中的Create传递给RoutingProtocol.
21:49 已经将SDN.CC中的传递实现
SetMainAddress应该要根据NodeType执行,
现在的问题是如何确定MainAddress。
发现NodeType也要事先确定。
现在NT通过Helper中的SetNodeTypeMap传递,并在Helper中的Create传递给RoutingProtocol.
21:49 已经将SDN.CC中的传递实现
SetMainAddress应该要根据NodeType执行,
ipv4routinghelper 在调用Create时,会传入Node,如果在调用ipv4routinghelper之前Node已经安装好mobility,路由算法可以在ipv4routinghelper中的Create时,取得其mobility,就不用另外实现一个输入mobility的过程。
一开始的想法是,SDN的指令信息运行在CCH,而数据信息则运行在SCH,那么这样路由协议就需要知道各个节点的“真实ID”。
HelloMessage内含ID,应该是车辆SCH的IP,而不是CCH的IP,因为RM下发时,是广播的,车辆只需要判定下发的RM中,ID是否和自己的SCH ip相同即可。
而由于LC理应只工作在CCH,所以只有CCH ip,LC的ID就是他的IP。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |      remote           refid      st t when poll reach   delay   offset  jitter ============================================================================== +time-a.nist.gov .ACTS.           1 u  117  128  375  219.880   -3.162   9.807 +time-b.nist.gov .ACTS.           1 u   63  128  377  212.481    4.291  10.382 +time-c.nist.gov .ACTS.           1 u   72  128  373  221.437   -4.065  15.729 +time-d.nist.gov .ACTS.           1 u  123  128  377  224.083   -4.272  13.544 +24.56.178.140   .ACTS.           1 u   80  128  377  190.612   -7.805   4.921 x128.138.141.172 .ACTS.           1 u  114  128  377  316.636   48.359   8.748 +131.107.13.100  .ACTS.           1 u  251  128  376  164.240  -11.402   8.598 +223.255.185.2   .MRS.            1 u  855  128  100   12.286    5.916  11.465 +ntp-a2.nict.go. .NICT.           1 u   14  128  173   54.171    4.101   7.690 #ntp0.nc.u-tokyo .GPS.            1 u  500  128  370  115.024  -35.263   8.081 +ntp-sop.inria.f .GPS.            1 u   14  128  253  222.405   -2.242  23.575 +ntp-p1.obspm.fr .TS-3.           1 u  114  128  377  317.704   -1.992  14.829 *ts0.itsc.cuhk.e .GPS.            1 u   43  128  377    6.798    4.658   6.391 +ntp.ix.ru       .PPS.            1 u  124  128  373  424.717   -9.539  10.470 +ntp.neu.edu.cn  95.222.122.210   2 u    8  128  377   52.216    1.041   5.245 | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |      remote           refid      st t when poll reach   delay   offset  jitter ==============================================================================  LOCAL(0)        .LOCL.          10 l  46h   64    0    0.000    0.000   0.000 #time-a.nist.gov .ACTS.           1 u   15  256  377  378.818  -83.364  17.463 #time-b.nist.gov .ACTS.           1 u   70  256  277  476.310  -41.924  35.146 #time-c.nist.gov .ACTS.           1 u    7  256  377  395.963  -43.723  34.185 #time-d.nist.gov .ACTS.           1 u   12  256  377  483.643  -34.337  30.085 #24.56.178.140   .ACTS.           1 u  221  256  371  291.978   50.514  46.840 -131.107.13.100  .ACTS.           1 u  136  256  377  177.669   -6.028 139.785 *118.143.17.82   .MRS.            1 u  188  256  357   13.079    0.081   0.350 +ntp-b3.nict.go. .NICT.           1 u  142  256  377   63.631   -0.085   0.274 +ntp0.nc.u-tokyo .GPS.            1 u  161  256  377   63.430   -0.350  24.636 -ntp-sop.inria.f .GPS.            1 u   20  256  377  243.417    2.893   1.610 -ntp-p1.obspm.fr .TS-3.           1 u  113  256  377  302.075   -4.333  37.451 #ts0.itsc.cuhk.e .GPS.            1 u  151  256  365   75.393   32.617  54.784 -ntp.ix.ru       .PPS.            1 u  211  256  377  414.779    5.133   9.858 -ntp.neu.edu.cn  .PPS.            1 u  150  256  377   65.779    0.803   7.601 #ptbtime1.ptb.de .PTB.            1 u   63  256  377  354.657   20.788  16.343 -ptbtime2.ptb.de .PTB.            1 u   13  256  377  333.716    8.016   1.129 -ptbtime3.ptb.de .PTB.            1 u   59  256  377  348.999    1.459  19.869 | 
用Scrapy及Gensim对哔哩哔哩弹幕网的标签进行Word2Vec语义分析
本来是课程作业, 但也还是放出来吧.
Scrapy是一个爬虫,Gensim则是一个语义分析软件。Word2Vec是一个“深度学习”的,将一个个单词变为一个个向量的算法。
实际操作过程很简单, Scrapy抓Bilibili, Gensim对结果做Word2Vec分析, 然后用Tkinter写UI界面.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import codecs import scrapy from b.items import CHL import re class MySpider(scrapy.Spider):     name = 'bili'     allowed_domains = ['www.bilibili.com']     amy = ['http://www.bilibili.com/']     for i in range(7,2878725):         amy.append("http://www.bilibili.com/video/av"+str(i))     start_urls = amy     def parse(self, response):         item = CHL();         try:             item['tag'] = response.xpath('//meta[@name=\'keywords\']/@content').extract()[0]             thestr = item['tag'].replace(',',' ') + '\n'             with codecs.open('2878725', 'a', 'utf-8') as f:                 f.write(thestr)         except IndexError:             pass         return item | 
因为前几天上Bili发现编号只到2878725,所以就到2878725了。作业的版本是用CrawlSpider的,但其实B站视频编号连续,顺序爬就可以。顺序爬的速度比用爬虫爬快好多,而且占用资源也少。之前爬虫爬到结果大概不足100M,Linode那VPS就已经内存不足了,现在完整结果有316M。
由于有很多投稿失效或者是”只有会员知道的世界”,爬完后的结果里面,会有很多B站的默认Tag.为避免影响结果,要删去.
| 1 | grep -v 'B站 弹幕 字幕 AMV MAD MTV ANIME 动漫 动漫音乐 游戏 游戏解说 ACG galgame 动画 番组 新番 初音 洛天依 vocaloid' 2878725 > 2878725fl | 
2878725fl大约比2878725小一半…….
下一步之前还要把2878725fl改个名叫input
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #!/usr/bin/env python # -*- coding: utf-8 -*- import gensim, logging, codecs class MySentences(object):     def __init__(self, dirname):         self.dirname = dirname     def __iter__(self):         for line in codecs.open(self.dirname, 'r', 'utf-8'):             yield line.split() logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) sentences = MySentences('input') model = gensim.models.Word2Vec(sentences, size=400, workers=24, min_count=3) model.save('w2v') model.init_sims(replace=True) model.save('w2v.trim') | 
由于init_sims能极大减少内存占用,但却会令模型不能继续训练,所以就开启前后分别保存了一份,以备不时之需。这里的Size取了400,400就是向量的维度。
8192维的耗时
| 1 | training on 19973050 raw words took 1883.2s, 10036 trained words/s | 
400维的耗时
| 1 | training on 19973050 raw words took 153.5s, 123083 trained words/s | 
到准备重现UI时,发现32位的Python吃不了那么大的数据(1024维),去搞64bit的,所有包都要重新装….
http://www.lfd.uci.edu/~gohlke/pythonlibs/
上面这个网址有编译好的windows包可以直接用
举个栗子,下载numpy, 先把
numpy-1.9.2+mkl-cp27-none-win_amd64.whl下下来
然后
| 1 2 3 4 5 6 7 | C:\Users\CHL\Downloads>pip install "numpy-1.9.2+mkl-cp27-none-win_amd64.whl" Unpacking c:\users\chl\downloads\numpy-1.9.2+mkl-cp27-none-win_amd64.whl Installing collected packages: numpy Successfully installed numpy Cleaning up... C:\Users\CHL\Downloads> | 
搞定,然后就Scipy和Gensim,同理。
今天中大东校区IPv6废了,网速直线下降(我一直挂着v6跑)
下面就是TheB跑出来的结果截图
相似查询概念很简单,就是找出向量距离近(相关度高)的结果





类比查询则比较有意思,一个简单的例子就是,queen对于girl相当于king对于boy。运算: boy=girl-queen+king。



TheB就是这样了
我的PDF其实是用word生成的,为了在Word中加入高光,可以用以下这个网址
https://tohtml.com/python/
贴过来后将字体换成Consolas, 完美.
不知道为什么在老VPS上,一直都没有广告评论的,换成新的后,就突然原有了。