赞
踩
最终,无事发生,我的跨年是在图书馆(因为我忘带卡打不开实验室门),和去年一样。其实我并不想去图书馆,但是觉得在床上跨年太颓废,找个好点的处所,至少说得过去些。人嘛,体面些,不磕碜。
我对2023年基本满意,至少比前两年要好很多,在经历越来越多事情后,对世间事物的运行规律更加清楚,对自己的未来更加明晰。大家都是资深成年人,跨不跨年又有何谓?正如我现在认为的那样,拼死拼活,爬到多高的位置,无非是换了个圈子,总有比你更强的人,如果给我重来的机会,或许本科毕业就找个活干。不如养生。
- 吃惊地发现SXY在31日凌晨两点多竟然在淮海中路云海大厦的一间酒吧,灯红酒绿。我不是对酒吧有何偏见,但是至少在我的印象里,SXY不像是那种会去酒吧到深夜的人,我不清楚为什么,但人或许总是会变。之前跟宝玺、剑仙一起吃饭时,宝玺问你们喝酒都是为了什么,剑仙说当然是精神解脱,我不以为然,因为我喝酒都是跟最好的朋友一起吃饭才会喝。或许酒的确是有那些用途的吧。
- 然而,LXY不仅没有感冒,而且生龙活虎地在31日清晨七点,去操场跑23.24km跨年(用时2:00:55,平均配速5’12"/km,汗颜),瞋目结舌。我知道她很猛,但没想到会这么猛。我自己最长也不曾跑过半马以上的距离,更不用说是在场地。而且31号早晨重度污染,好多跑团的活动都临时取消,真是早起的鸟儿有霾吸。我撺掇LXY一起报锡马,她要是能去,我们四五个兄弟绝对不追求成绩,主线任务就是破风带路。
- 旧岁到此结束,无论喜怒哀乐,相信新年将有无限可能。——To you all
df.apply
的broadcast
参数,布尔型的可选参数。当为None
或False
时,会返回一个与原dataframe的column或index长度相同的Series。 当为True时,会返回一个index和column跟原dataframe相同的dataframe(当然结果进行了广播)。
还有一个很重要的参数raw
: 布尔型。默认为False
。当为False
时,会将dataframe中的每一个column或每一个index上以Series的形式传到函数中(这也是常规的做法,此时逻辑是循环,通常很慢)。当为True时,则会把数据以np.ndarray
的形式传到函数中,如果这个时候func用的就是numpy
的函数,则执行效率会非常高。
在0.23版本以后,这个参数会被替换成result_type='broadcast'
,可选值包括以下几种:expand
、reduce
、broardcast
、None
。确定返回形式。(0.23.0以后版本才有并且只有当axis=1
时这个参数才能发挥作用)
此外,apply支持位置参数agrs
,和关键词参数**kwds
另外,假定X
是dataframe的一列,比如每行的数值是一个列表或者np.ndarray
,可以使用np.array(X)
是无法将它变成一个矩阵的,得用np.stack
或者np.vstack
才行。
- Happy New Year! Wish you all the best!
- 万能的LXY终于倒下,早上说膝盖崩了,问我疼没疼,说实话,不算去年4月初意外扭脚,我已经一年半腿脚没有疼痛过了,得益于前掌跑法和力量训练(我目前的看法,不以达二级运动员为目标的跑步训练,对身体一定是利大于弊,损伤可以忽略不计,前提是训练是科学的)。
- 我觉得现在这样也挺好,把LXY当作目标去追求,让自己能够做事更努力些,能不能追得到又有何所谓?今早打开微信想回消息时,才发现认识的这两年多,我竟只跟她单聊过三句话,第一句是默认的打招呼语句,第二句是2022年春节贺喜(我没有回复),第三句是2023年春节贺喜(我有回复),尴尬得不行,王凯再三嘱托我不要在群里聊,一定要单聊,但是你这让我怎么开得了口,唉,两年前刚认识的时候,我就知道她很NB,学习运动全能选手,所以早有自知之明,但是两年后我觉得自己似乎也可以,高低现在也能算个业余精英跑者,学习也勉强说得过去,就有些蠢蠢欲动了。
- 我总觉得,那些单身很久的人,必定会有很突出的性格缺陷,我自己在关键问题上缺乏主见,患得患失,常为小事焦虑。因此相处需要的是理解,而不是冲动。
- 下午场地万米,41’07"(平均心率167bpm)。似乎平常的例训,但前5000米我是穿着外套慢摇,脱了之后,后5000米用时19’50"(4’05"+4’05"+4’01"+3’57"+3’42"),顶了一波心肺强度(190bpm)。很满意的结果,至少我现在可以轻松地把5000米跑进20分,这就足够了。
df = df.loc[df["列名"].str.contains("需要筛选的字符串"),:]
如果字段df["列名"]
存在缺失,此法会报错。
解决方案是:在筛选中加上"na=False"
,这意思是:遇到非字符串的情况,直接忽略。
df = df.loc[df["列名"].str.contains("需要筛选的字符串", na=False),:]
之前说df["列名"].map
有一个参数na_action
可以用来简便处理缺失:
>>> a = pd.DataFrame({"a": [np.nan, "1", "2"]})
>>> a["b"] = a["a"].map(int, na_action="ignore")
>>> a["b"]
0 NaN
1 1.0
2 2.0
这是ok的,但是比如有时候你需要筛选带有特定字符串的,NaN并不能作为False处理,还是得用最一开始提到的方法。
- 嘉伟昨晚居然一个人去听维也纳皇家乐团的跨年演出,竟然如此上流,认识这么久我都不知道。我一直觉得下半年嘉伟沉寂是因为失恋,我也有些事情想问他,所以就约了今晚一起训练。
- 很久没有这种感觉,一天听不到消息就会些许失落,但又不肯主动去cue,昨晚快12点时LXY才冒了泡。
- 昨晚回来去操场慢跑5000米(均配4’35"),追加20kg负重的30×8组箭步,最后冲了一个400米(1’15"),练完力量适合接一组爆发,最后放松拉伸,拉了会儿单杠,状态不错。
- 今晚按计划约嘉伟跑课表,6k+6k节奏跑,间隔3~4分钟,嘉伟带的3’50"左右的配速(我跟嘉伟实力悬殊,嘉伟目标是帮我顶到极限,但不可否认跑前我确实觉得自己状态很好),第一组顶到5000米力竭,用时19’30"(表漂了,距离不准),当时觉得不可能坚持完第二组,第二组开始时跟嘉伟说,估计要跑一圈停一圈,结果第二组一直坚持到5000米才停下,用时19’08",比第一组还要快,我自己都震惊了,状态好的离谱,如果是全盛状态下,我极有可能破开19分。4分配终于被我彻底跨过,可以更轻松地腾跃以扩大步幅,现在就算是3’50"的配速,跑起来也相当稳,这就是腿部力量与核心力量强大后立竿见影的效果。
- 练完我问嘉伟有没有接着谈的打算(主要一直觉得他和濛麓走的很近,他觉得濛麓很好,但听下来他似乎另有所思),我告诉他佩瑶已有新任,嘉伟很吃惊,我说新任就一棒子脸根本比不上你,她眼光真差,嘉伟估计是受刺激了,跟我分开后他居然又折道回操场干了3个1000米间歇,唉,人呐,这就是我不愿意再去触碰恋爱的原因。其实我是想顺着引出想追LXY的事,想听听嘉伟的看法,但是时间太短我没能说出口,但我觉得自己可能也真的说不出口,我不知道自己到底在想什么,自相矛盾,却又放弃不下,我觉得自己错过了一个又一个人,难道还要这样继续错过吗?我已经没有时间了。
pandas dataframe绘图参数
DataFrame.plot(x=None, y=None, kind='line', ax=None, subplots=False,
sharex=None, sharey=False, layout=None, figsize=None,
use_index=True, title=None, grid=None, legend=True,
style=None, logx=False, logy=False, loglog=False,
xticks=None, yticks=None, xlim=None, ylim=None, rot=None,
fontsize=None, colormap=None, position=0.5, table=False, yerr=None,
xerr=None, stacked=True/False, sort_columns=False,
secondary_y=False, mark_right=True, **kwds)
x和y:表示标签或者位置,用来指定显示的索引,默认为None
kind:表示绘图的类型,默认为line,折线图
line:折线图
bar/barh:柱状图(条形图),纵向/横向
pie:饼状图
hist:直方图(数值频率分布)
box:箱型图
kde:密度图,主要对柱状图添加Kernel 概率密度线
area:区域图(面积图)
scatter:散点图
hexbin:蜂巢图
ax:子图,可以理解成第二坐标轴,默认None
subplots:是否对列分别作子图,默认False
sharex:共享x轴刻度、标签。如果ax为None,则默认为True,如果传入ax,则默认为False
sharey:共享y轴刻度、标签
layout:子图的行列布局,(rows, columns)
figsize:图形尺寸大小,(width, height)
use_index:用索引做x轴,默认True
title:图形的标题
grid:图形是否有网格,默认None
legend:子图的图例
style:对每列折线图设置线的类型,list or dict
logx:设置x轴刻度是否取对数,默认False
logy
loglog:同时设置x,y轴刻度是否取对数,默认False
xticks:设置x轴刻度值,序列形式(比如列表)
yticks
xlim:设置坐标轴的范围。数值,列表或元组(区间范围)
ylim
rot:轴标签(轴刻度)的显示旋转度数,默认None
fontsize : int, default None#设置轴刻度的字体大小
colormap:设置图的区域颜色
colorbar:柱子颜色
position:柱形图的对齐方式,取值范围[0,1],默认0.5(中间对齐)
table:图下添加表,默认False。若为True,则使用DataFrame中的数据绘制表格
yerr:误差线
xerr
stacked:是否堆积,在折线图和柱状图中默认为False,在区域图中默认为True
sort_columns:对列名称进行排序,默认为False
secondary_y:设置第二个y轴(右辅助y轴),默认为False
mark_right : 当使用secondary_y轴时,在图例中自动用“(right)”标记列标签 ,默认True
x_compat:适配x轴刻度显示,默认为False。设置True可优化时间刻度的显示
- 后来下班我在群里说今晚诚信慢跑,嘉伟考完最后一门要聚餐,AK要加班,宋某直接失联,我想着这周前三天都是大强度,四五可以放松跑。但我真实目的是想试探LXY来不来跑,但是等了会儿一直没有想要的答复,只好鼓起勇气去单聊约她出来,原来她下午已经打过球(看来膝盖是真的好了),她说明天可以,但是生理期,只能诚信慢跑,这就触及我的知识盲区了,为了让她信服我的诚信,今晚特地去跑了一个5’34"/km配速的6.66km(平均心率142bpm,说实话,这么慢的跑着真累),顺带打电话跟医生老妈请教了一下这个生理期的问题,老妈非常耐心地给我科普了一下常识,说我真是个睿智,生理期都不懂,白活这么大。
- 李乐康元旦去日本,为的是第100回箱根驿传,他到现场观战,人非常多。发了几张照片给我们看,热血沸腾,日本高校长跑精英的那种极致力量感,要知道中国的万米和半马国家记录放在日本这些前十的高校里,连它们参赛队伍的平均水平都比不上(人均万米28分台),这还只是他们的大学生,并非最顶尖的职业选手。今年青学(不是网球王子的青学)刷新大会新,以及5区的区间新被两次刷新(山神降临),10年7冠,重回王座,往路3个区间赏,1个区间新,也算是第100回箱根驿传之圆满,要知道复路的7区天降暴雨,极其恶劣的条件下都刷新大会记录,抛开民族情节不谈,小日本真的令人震撼。
Seaborn绘图记录:散点图
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="darkgrid") #这是seaborn默认的风格
#scatterplot参数
seaborn.scatterplot(x=None, y=None, hue=None, style=None, size=None,
data=None, palette=None, hue_order=None, hue_norm=None, sizes=None,
size_order=None, size_norm=None, markers=True, style_order=None,
x_bins=None, y_bins=None, units=None, estimator=None, ci=95, n_boot=1000,
alpha='auto', x_jitter=None, y_jitter=None, legend='brief', ax=None, **kwargs)
x,y:横纵轴数据
hue:具体用以做分类的列,如'event'
, 'day'
data:是你的数据集,可选;
style:绘图的风格,如'time'
, ''event'
size:绘图的大小,可以直接设置为'size'
palette:调色板,如可以设置为palette=["b", "r"]
markers:绘图的形状,如可以设置为['o', 'x']
,其实就是点的形状
ci:允许的误差范围(空值误差的百分比,0-100之间),可为‘sd’,则采用标准差(默认95);
n_boot(int):计算置信区间要使用的迭代次数;
alpha:透明度;
x_jitter,y_jitter:设置点的抖动程度。
- 晚上按约定陪跑LXY,12.38km,1小时5分,均配5’18"。从头聊到尾(很难想象女生能这种配速跑这种距离,还是生理期,还特么能说话,我因为要克制住速度,跑到最后都僵硬了,累得不行),出于隐私考量,我就不写具体内容,因为以她的性格,真的可能只是无意地说出那些暗示性极强的话。我并没有流露太多信号,依然是站在普通朋友的立场上说话做事,因为我并没有真的下定决心,虽然我很想更进一步,最后在学校已经没有多少时间,想还能留下一段回忆。
- 跑完回实验室打了个电话给妈妈,想到经年种种,难以置信地,我竟然哭了出来。等我开始写这段话的时候,又觉得自己很幼稚得可笑。
- 都说爱的是一个,成家立业的又是另一个,但这并不意味着前者是没有意义的。我跑了4年步,被父辈祖辈质疑了4年,从当年体测1000米在及格线上挣扎的人,到如今万米破40分,5000米19分台(预计可破19分),勉强也算个业余精英,结识了一群志同道合的朋友和一两个能交心的挚友,前几天我在回翻自己之前的朋友圈,几乎全部都是跑步,尽管我第一个10km就跑到了49’50",那时觉得自己多么厉害,但现在看起来又多么弱小。坚持许多年做一件事情怎么会没有意义呢?这些年,它本身就是意义。
- 我不知道,我真的不知道,但我真的很想知道。罢了。
小技巧:发现函数的参数定义可以这样写:
def f(*a, b, c, d, **e):
print(a)
print(b)
print(c)
print(d)
print(e)
f(1, 2, 3, b=1, c=2, d=3, e=123, f=342, h=324)
如果想禁用位参(即强制调用时必须注明名参的名字),可以这样写:
def g(*, a, b, c): ...
这样的情况调用函数g
必须使用:g(a=1,b=2,c=3)
的形式,如果写成g(1, 2, 3)
则会抛出异常
TypeError: g() takes 0 positional arguments but 3 was given
- 早上AK五点半去世纪公园进行NIKE黑马训练营的训练,3’43"均配跑了20km,太可怕了,今早上海全境重霾,肉眼可见的污染。
- 下午按计划与嘉伟进行20km拉练(预定配速4分整),没想到嘉伟竟然6000米就不行了,很罕见(4分配对他来说就是很简单的有氧跑)。他下场后我顶到8000米,平均配速3’58",很吃力,感觉可以顶到10km,但绝对坚持不到20km。还好LXY过来(昨晚她是说要来凑个热闹),准备跟她摇完最后12km。
- 我本以为LXY昨晚跟我跑12km,而且是生理期,今天怎么也不至于还能跑这么多。结果今天跑的比昨天还猛,我4’57"的配速跑了10km,腿已经完全抬不动,她却依然游刃有余,最后几圈她看出我体力不支(确切地说,是腿力不支,心率都掉到135bpm了,体能是绝对够的,现在的短板是大腿力量),提出让她来跑外道,我跑内道,我一脸???,最后她又是一共跑了12km,均配5分整,真给我整不会了。
- 这两天跑的太多,约定明天就不跑了,下周再约。跑完拿两个垫子一起拉伸会儿,女生身体是真的很柔软,脸都能压到腿面上。离开后跟着走了一段,今天比昨晚走得长些(再往前应该就没有一起走过路)。年纪大了,不想像年轻人那样搞些幼稚俗气的操作,在这个互相试探的过程中逐渐摸索,但自己还是处于信息的劣势方,她问了我一些,包括我的恋爱史(我只是说自己是分手后才加入田径队),我也主动说了一些,我却似乎问得很少,该从何问起,如何问起,感觉上她很有可能到现在都没有过一次恋爱,这让我极其费解,可能就像胡哥跟我说的那样,女生太优秀就是这样吧。如果真是第一个吃螃蟹的人,我也怕被夹到舌头,唉。
关于tokenizer
添加special_token
的问题:
from transformers import BertConfig from transformers import BertTokenizer from transformers import BertModel model_name = "hfl/chinese-roberta-wwm-ext/" model_dir = "models/pretrain_models/" + model_name config = BertConfig.from_pretrained(model_dir) model = BertForMaskedLM.from_pretrained(model_dir) tokenizer = BertTokenizer.from_pretrained(model_dir) add_tokens = ["[desc]", "[title]"] tokenizer.add_tokens(add_tokens) #返回一个数,表示加入的新词数量(2) special_tokens_dict = {'additional_special_tokens': add_token}. # add_special_tokens 传入是一个key为additional_special_tokens的dict tokenizer.add_special_tokens(special_tokens_dict) # 效果与add_tokens等价 model.resize_token_embeddings(len(tokenizer)) # 关键步骤,重新调整所有的向量数量,即vocab size tokenizer.save_pretrained(model_dir) # 将当前tokenizer保存本地,实现保留增加[token]。
- 凯爹问我要SXY的wx,我有些不解,他说为了扩大社交圈,中金那边认识的人太少了,我觉得也没啥不方便的,只是已经一个多月没联系过。凯爹叮嘱我不要去联系SXY,我思来想去,他们搞行研的自己扯吧,我也不掺和啥了。我也吃不准SXY,保不齐她还在看我写的东西。
- 昨天去小姨家大补,七点到实验楼陪AK爬楼3组(1~15层,他干了10组,我因为前两日量太大,走路都累,休一日)。回实验室后突然觉得烦躁,因为一天没有听到LXY的消息,不平静,在日记本上划拉好久,暗示自己平复下来,拖到最后直到零点把论文投掉才离开。心真乱了,太差劲太差劲,这么多年一点长进都没有,还是这个老样子。
- 万幸没失眠(把自己逼到极限,就不会失眠),一觉醒来依然精力充沛,九点整打个早卡,本想晚上早些回去,可是下午下雨,LXY说七号楼11~23点停水,所以下午去健身房跑步顺带洗个澡窝宿舍里了,不过晚上回来操场也不开放,只是连食堂都不开是真难受。只得出去觅食,回来到实验楼负1层3000个跳绳+200个双摇,回去再补核心训练,群里大伙儿也没闲着(除了已经躺了半个月的宋某),雨天也有三位都在环校跑步。
- 真好,以前我们只是各自在跑,现在将这些水平尚可的人聚集起来(可惜女生太少,但苛求女生跑步确实很难),相互激励,这个冬天过去,整体实力一定会有进步,现在连zjc都能4’26"配速跑完16km,开春万米跑进42分应该问题不大。我现在对自己的目标是开春万米破39分,5000米破18分半(自以为是可以达到的,因为我现在比之前训练要科学规律得多)。一定要控制饮食,保证高质量睡眠,每年年后水平都是暴跌,今年难得有正当理由挨到除夕再回家,七天之后就可以返回上海,一定要把过年这个发福期扛过去,以最全盛的状态迎接上半年比赛。
余弦学习率(torch文档—余弦相似度衰减学习率,torch文档—余弦相似度衰减学习率):
转自:https://zhuanlan.zhihu.com/p/261134624
torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max, eta_min=0, last_epoch=-1, verbose=False)
optimizer (Optimizer) – Wrapped optimizer.
T_max (int) – Maximum number of iterations.
eta_min (float) – Minimum learning rate. Default: 0.
last_epoch (int) – The index of last epoch. Default: -1.
verbose (bool) – If True, prints a message to stdout for each update. Default: False.
CosineAnnealingLR
比较简单,只对其中的最关键的Tmax参数作一个说明,这个可以理解为余弦函数的半周期.如果max_epoch=50次,那么设置T_max=5则会让学习率余弦周期性变化5次.
max_opoch=50, T_max=5
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。