Large-batch-size与模型泛化性的问题 paper—《Bag of Tricks for Image Classification with Convolutional Neural Networks》中提到“Using large batch size, however, may slow down the training progress. For convex problems, convergence rate decreases as batch size increases. Similar empirical results
Tensorflow 获取model中的变量列表 1、动态获取 + 朴素获取法 + 朴素获取可训练变量:t_vars = tf.trainable_variables() + 朴素获取全部变量,包含声明training=False变量:all_vars = tf.global_variables() + 使用tensorflow.contrib.slim + 获取常规变量(是slim里面与model变量对应的一个类型):regular_variables = slim.get_variable...
Error: invalid log directory /app/spark/... 问题背景:在以stanalone方式部署的spark环境中,以cluster方式提交application后,过了半天发现在web页面driver上stdout和stderr上的日志全部都没有了,stdout中显示error: invalid log director /app/spark/...问题原因:由于在spark-env.sh中配置了每个worker清理日志的时间,即SPARK_WORKER_OPTS='-Dspark.worker.cleanup.enabled=true -Dspark.
spark中关于Insufficient space for shared memory file和java.io.IOException: No space left on device 背景:在spark中,去重后将数据写入到hdfs中时,报错:Insufficient space for shared memory file和java.io.IOException: No space left on device。原因:由于去重会带来shuffle,在shuffle过程中空间不足造成的。在spark-env.sh中找到SPARK_LOCAL_DIRS配置的目录/tmp/spark/tmp,然后利用du -sh /tmp查看空间发现满了,利用率为100%解决方法:(1)扩大/tmp挂载
spark 报:Warning: Master endpoint spark://ip:7077 was not a REST server. Falling back t 在利用spark以cluster方式提交application时会发现这个警告:Warning:Masterendpointspark://ip:7077wasnotaREST server.Fallingbacktolegacysubmissiongatewayinstead.提交方式:spark-submit --master spark://ip:port --deploy-mode client(cluster)原因:端口问题,解决方式:spark以clien...
keras获取中间层结果的两种方式 keras获取中间层有两种方式:(1)通过tf.keras.backend.function函数获取;(2)通过tf.keras.models.Model函数获取;对于第一种方式,主要是利用tensor name获取,具体可见https://blog.csdn.net/NOT_GUY/article/details/108290883;对于第二种方式,使用步骤如下:1)第一步,构建好模型;2)第二步,利用keras的summary函数打印模型结构图;3)第三步,训练模型;4)
ModuleNotFoundError: No module named xxx 背景:自己封装了一个package,并且含有多个子package,每个子package下有多个不同的Moudle,然后再引用Moudle时,在pycharm中运行没有问题,但是将这个文件夹放在linux环境下时,出现了错误:ModuleNotFoundError: No module named 'package'。结构如下:package: ├─ sub_package0 │ ├─ __init__.py │ ├─ utils.py ...
tornado框架简单部署lightgbm模型服务 本文讲一下利用tornado框架简单部署lightgbm模型服务的demo,具体步骤如下:首先,准备好线下训练好的lightgbm模型文件,本文使用iris数据集训练得到。然后,部署代码deploy.py如下:import tornado.ioloopimport tornado.webimport jsonimport joblibimport numpy as npclass MainHandler(tornado.web.RequestHandler): def g
maven将项目依赖一起打包 今天项目打包的时候发现,jar包中只有自己写的主类,没有依赖,于是找了下如何将依赖与主类一起打成一个jar包。在pom.xml中<build>中添加如下代码:<plugins> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</
docker下免密登录失败的环境问题 碰到问题:配置好hosts、公钥,从hadoop-master端ssh-copy-id复制hadoop-slave公钥时,发现要输入hadoop-slave的密码,但是输入正确密码后发现还是登录不进去原因:vim /etc/ssh/sshd_config中PermitRootLogin参数值为prohibit-password,这个含义是“允许root登录,但禁止root用密码登录”解决方法:将PermitRootLogin参数值修改为yes,然后重启ssh服务:sudo service ssh res
tensorflow使用cpu不用gpu的问题 前提:cuda版本和cudnn版本已安装好,版本对应没问题;问题:在安装好cuda、tensorflow、tensorflow-gpu的环境下,调用tensorflow跑模型,发现cpu资源占满,而gpu处于空闲状态。导致上述问题的原因可能有两个:(1)tensorflow-gpu的版本低于tensorflow的版本;(2)cuda版本与tensorflow-gpu版本对应不上;对于第一个原因:tensorflow-gpu的版本低于tensorflow的版本,有以下检查方法:(1)跑模
利用tf.tile和tf.reshape和tf.transpose达到np.repeat效果 问题:将二维矩阵A复制后变换为三维矩阵B,示例如下: ----------------------> 如果是numpy库,则可以直接使用np.repeat和np.reshape实现由于tensorflow-1.12中没有tf.repeat函数,所以只能通过其他方式实现,即:tf.tile+tf.reshape+tf.transposetf.tile中参数multiples为[1,5],即第一维重复1份,第二维重复5份...
使用Pyhive连接hive时出错:thrift.transport.TTransport.TTransportException: Could not start SASL 安装Pyhive需要以下依赖:sasl==0.2.1、thrift==0.13.0、thrift-sasl==0.4.2以上安装完成后,安装pyhive成功。导入pyhive包,connection连接hive时,报以下错误:thrift.transport.TTransport.TTransportException: Could not start SASL: b'Error in sasl_client_start (-4) SASL(-4): no mechanism available:
lightgbm模型处理类别型特征 类别型特征编码由于是字符串类型,所以一般需要经过编码处理转换成数值型。本文主要想说的是直接将字符串值传到lightgbm中训练。注意:xgboost模型也需要提前one-hot编码转换才能入模。下面是代码: a = [i for i in range(1000)] b = ["tag","bga","efd","rfh","esg","tyh"] c = [b[randint(0,5)] for i in range(1000)] d = [randint(0,1)
pyspark使用分布式xgboost 亲测跑通环境: Python 3.6.5 Pyspark:2.4.5 Spark: 2.4.3步骤: 第一步:配置好环境 第二步:下载相关文件(下载地址) xgboost4j-0.72.jar xgboost4j-spark-0.72.jar Sparkxgb.zip 第三步:关键点1:将xgboost4j-0.72.jar和Xgboost4j-spark-0.72.jar添加到job中(使用--ja...
基于tensorflow-hub使用预训练bert模型——简单易上手成功率百分百 最近,研究了下如何使用基于tensorflow-hub中预训练bert,一开始找到的关于预模型使用介绍的官方教程国内打不开,所以看了很多博客遇到了很多坑,直至最后找到能打开的教程,才发现使用很简单。实验版本: tensorflow版本: 2.3.0 tensorflow-hub版本:0.9.0 python版本: 3.7.6数据准备: 首先,熟悉bert的都知道输入有3个:input_ids、input_mask、seg...
Non-OK-status: tensorflow::Env::Default()->DeleteFile(ptx_path) status: Not found 最近在跑程序时,出现过好几次这个问题,当时在官方tensorflow的github上查到了这个问题,见:https://github.com/tensorflow/tensorflow/issues/39712,工作人员回复让试一下tf-nightly(应该是最新迭代的版本),但由于tensorflow版本多人再用,所以也没试这种方法。今天又碰到这个问题,研究了一下,下面首先给出我这里几次碰到这个问题的背景:(1)由于有多人在使用GPU,所以前几次都是在GPU占用比较大的情况下,然后我跑个程序就出现