
python
代码只是抓手,不是人生
曾在百度、头条、华为等公司实习,现就职某大厂广告算法工程师,关注自然语言处理、推荐系统、计算广告,同时也对高并发、高稳定性、可用性架构设计感兴趣。
展开
-
Python 中的线程安全(threadsafe) 与 GIL
线程安全是在多线程的环境下,能够保证多个线程同时执行时程序依旧运行正确, 而且要保证对于共享的数据可以由多个线程存取,但是同一时刻只能有一个线程进行存取。多线程环境下解决资源竞争问题的办法是加锁来保证存取操作的唯一性。通常加锁也有2种不同的粒度的锁:fine-grained(细粒度),程序员需要自行加/解锁来保证线程安全coarse-grained(粗粒度),语言层面本身维护着一个全局的锁...转载 2019-07-11 12:41:31 · 329 阅读 · 0 评论 -
UnicodeDecodeError: 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence
python 读文件是碰到这个错误,查了一下python的文件编码机制python是 外部文件编码->内部编码->目标编码,这个报错的意思,是当内部编码转化成 gbk编码(默认)时出错,我也不知道为啥,改为utf-8就好了open('../atec_nlp_sim_train.csv', encoding='utf-8')加一个python支持的编码就可,我这选择的是 utf-8...原创 2018-06-03 19:36:10 · 49515 阅读 · 9 评论 -
【深度学习】如何处理样本不均衡?(交叉熵改变权重,附tensorflow代码)
tf.nn.weighted_cross_entropy_with_logits(y_true, y_pred, weight)原创 2018-06-06 17:12:42 · 4632 阅读 · 0 评论 -
python 初始化一个定长的数组
# 有时候我们提前知道了一个数组的大小,需要给每个元素赋值,此时append好像不管用。我们需要定义一个定# # 长的数组,python中代码如下:b = [0 for _ in range(10)] #也可以b = [0]*10 for i in range(10): pass # 赋值语句...原创 2018-06-22 11:16:32 · 105515 阅读 · 2 评论 -
【python】python的range 逆序输出范围
一般情况下我们,使用range(10)产生一个 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]范围内的数组,但是假如想逆序输出呢?这时候该使用,range(9, -1, -1)原创 2019-05-13 20:48:57 · 2246 阅读 · 0 评论 -
【python】Python多类继承中,子类默认继承哪个父类的构造函数__init__
阅读gensim源码的时候,碰到self.wv = Word2VecKeyedVectors(size)这行代码的时候,点进去看Word2VecKeyedVectors实现原理如下:class Word2VecKeyedVectors(WordEmbeddingsKeyedVectors):pass他没有构造函数。默认调用子类的构造函数。这时候思考,当有多个子类的时候,调用哪个构造函数...原创 2019-05-16 20:02:07 · 1253 阅读 · 0 评论 -
python heapq的使用汇总
1、heapq模块的使用:https://blog.youkuaiyun.com/weixin_34390105/article/details/860291142、heapq模块实现大小堆:https://blog.youkuaiyun.com/tanghaiyu777/article/details/552710043、python:heapq模块对嵌套字典或二维列表取topN以前一直...原创 2019-05-18 18:42:47 · 1036 阅读 · 0 评论