<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[NOT_GUY的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/NOT_GUY</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; NOT_GUY]]></copyright><item><title><![CDATA[TypeError: only integer tensors of a single element can be converted to an index]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/126875801</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/126875801</guid><author>NOT_GUY</author><pubDate>Thu, 15 Sep 2022 17:26:02 +0800</pubDate><description><![CDATA[深度学习中遇到的bug]]></description><category></category></item><item><title><![CDATA[Large-batch-size与模型泛化性的问题]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/122285116</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/122285116</guid><author>NOT_GUY</author><pubDate>Mon, 03 Jan 2022 17:52:35 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[spark中dropDuplicates和distinct的区别]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/122070142</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/122070142</guid><author>NOT_GUY</author><pubDate>Tue, 21 Dec 2021 18:00:18 +0800</pubDate><description><![CDATA[spark中去重算子问题]]></description><category></category></item><item><title><![CDATA[Tensorflow 获取model中的变量列表]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/118417634</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/118417634</guid><author>NOT_GUY</author><pubDate>Fri, 02 Jul 2021 20:57:05 +0800</pubDate><description><![CDATA[1、动态获取
 + 朴素获取法
  + 朴素获取可训练变量：t_vars = tf.trainable_variables()
  + 朴素获取全部变量，包含声明training=False变量：all_vars = tf.global_variables()
 + 使用tensorflow.contrib.slim
  + 获取常规变量(是slim里面与model变量对应的一个类型)：regular_variables = slim.get_variable...]]></description><category></category></item><item><title><![CDATA[spark中两表字段顺序不一致合并时union和unionAll的问题]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/117993965</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/117993965</guid><author>NOT_GUY</author><pubDate>Thu, 17 Jun 2021 15:06:43 +0800</pubDate><description><![CDATA[背景：最近在利用spark合并两个表的时候，当两个表的字段顺序不一致时，合并后的结果是错误的。

举例：












]]></description><category></category></item><item><title><![CDATA[Error: invalid log directory /app/spark/...]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/117928595</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/117928595</guid><author>NOT_GUY</author><pubDate>Tue, 15 Jun 2021 16:56:52 +0800</pubDate><description><![CDATA[问题背景：

在以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.]]></description><category></category></item><item><title><![CDATA[spark中关于Insufficient space for shared memory file和java.io.IOException: No space left on device]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/117772202</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/117772202</guid><author>NOT_GUY</author><pubDate>Thu, 10 Jun 2021 11:06:50 +0800</pubDate><description><![CDATA[背景：在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挂载]]></description><category></category></item><item><title><![CDATA[spark 报：Warning: Master endpoint spark://ip:7077 was not a REST server. Falling back t]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/117090727</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/117090727</guid><author>NOT_GUY</author><pubDate>Thu, 20 May 2021 20:07:49 +0800</pubDate><description><![CDATA[在利用spark以cluster方式提交application时会发现这个警告：Warning:Masterendpointspark://ip:7077wasnotaREST server.Fallingbacktolegacysubmissiongatewayinstead.

提交方式：spark-submit --master spark://ip:port --deploy-mode client(cluster)

原因：端口问题，

解决方式：spark以clien...]]></description><category></category></item><item><title><![CDATA[keras获取中间层结果的两种方式]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/116718390</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/116718390</guid><author>NOT_GUY</author><pubDate>Wed, 12 May 2021 20:02:01 +0800</pubDate><description><![CDATA[keras获取中间层有两种方式：

（1）通过tf.keras.backend.function函数获取；

（2）通过tf.keras.models.Model函数获取；

对于第一种方式，主要是利用tensor name获取，具体可见https://blog.youkuaiyun.com/NOT_GUY/article/details/108290883；

对于第二种方式，使用步骤如下：

1）第一步，构建好模型；

2）第二步，利用keras的summary函数打印模型结构图；

3）第三步，训练模型；

4）]]></description><category></category></item><item><title><![CDATA[ModuleNotFoundError: No module named xxx]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/116271838</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/116271838</guid><author>NOT_GUY</author><pubDate>Thu, 29 Apr 2021 17:00:49 +0800</pubDate><description><![CDATA[背景：自己封装了一个package，并且含有多个子package，每个子package下有多个不同的Moudle，然后再引用Moudle时，在pycharm中运行没有问题，但是将这个文件夹放在linux环境下时，出现了错误：ModuleNotFoundError: No module named 'package'。

结构如下：


package:

  ├─ sub_package0

    │ ├─ __init__.py

    │ ├─ utils.py

   ...]]></description><category></category></item><item><title><![CDATA[tornado框架简单部署lightgbm模型服务]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/116206692</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/116206692</guid><author>NOT_GUY</author><pubDate>Tue, 27 Apr 2021 18:10:51 +0800</pubDate><description><![CDATA[本文讲一下利用tornado框架简单部署lightgbm模型服务的demo，具体步骤如下：

首先，准备好线下训练好的lightgbm模型文件，本文使用iris数据集训练得到。

然后，部署代码deploy.py如下：


import tornado.ioloop
import tornado.web
import json
import joblib
import numpy as np


class MainHandler(tornado.web.RequestHandler):
    def g]]></description><category></category></item><item><title><![CDATA[maven将项目依赖一起打包]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/115676064</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/115676064</guid><author>NOT_GUY</author><pubDate>Tue, 13 Apr 2021 19:19:45 +0800</pubDate><description><![CDATA[今天项目打包的时候发现，jar包中只有自己写的主类，没有依赖，于是找了下如何将依赖与主类一起打成一个jar包。

在pom.xml中&lt;build&gt;中添加如下代码：


&lt;plugins&gt;
            &lt;plugin&gt;
                &lt;groupId&gt;net.alchim31.maven&lt;/groupId&gt;
                &lt;artifactId&gt;scala-maven-plugin&lt;/]]></description><category></category></item><item><title><![CDATA[docker下免密登录失败的环境问题]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/115561413</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/115561413</guid><author>NOT_GUY</author><pubDate>Fri, 09 Apr 2021 23:22:55 +0800</pubDate><description><![CDATA[碰到问题：配置好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]]></description><category></category></item><item><title><![CDATA[tensorflow使用cpu不用gpu的问题]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/115197194</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/115197194</guid><author>NOT_GUY</author><pubDate>Thu, 25 Mar 2021 10:55:19 +0800</pubDate><description><![CDATA[前提：cuda版本和cudnn版本已安装好，版本对应没问题；

问题：在安装好cuda、tensorflow、tensorflow-gpu的环境下，调用tensorflow跑模型，发现cpu资源占满，而gpu处于空闲状态。

导致上述问题的原因可能有两个：

（1）tensorflow-gpu的版本低于tensorflow的版本；
（2）cuda版本与tensorflow-gpu版本对应不上；

对于第一个原因：tensorflow-gpu的版本低于tensorflow的版本，有以下检查方法：

（1）跑模]]></description><category></category></item><item><title><![CDATA[利用tf.tile和tf.reshape和tf.transpose达到np.repeat效果]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/113741194</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/113741194</guid><author>NOT_GUY</author><pubDate>Sun, 07 Feb 2021 15:31:25 +0800</pubDate><description><![CDATA[问题：将二维矩阵A复制后变换为三维矩阵B，示例如下：

     ----------------------&gt;        

如果是numpy库，则可以直接使用np.repeat和np.reshape实现





由于tensorflow-1.12中没有tf.repeat函数，所以只能通过其他方式实现，即：tf.tile+tf.reshape+tf.transpose



tf.tile中参数multiples为[1,5]，即第一维重复1份，第二维重复5份


...]]></description><category></category></item><item><title><![CDATA[使用Pyhive连接hive时出错：thrift.transport.TTransport.TTransportException: Could not start SASL]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/113398762</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/113398762</guid><author>NOT_GUY</author><pubDate>Fri, 29 Jan 2021 17:21:13 +0800</pubDate><description><![CDATA[安装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: ]]></description><category></category></item><item><title><![CDATA[lightgbm模型处理类别型特征]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/112724220</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/112724220</guid><author>NOT_GUY</author><pubDate>Sat, 16 Jan 2021 20:39:32 +0800</pubDate><description><![CDATA[类别型特征编码由于是字符串类型，所以一般需要经过编码处理转换成数值型。本文主要想说的是直接将字符串值传到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) ]]></description><category></category></item><item><title><![CDATA[pyspark使用分布式xgboost]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/111386355</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/111386355</guid><author>NOT_GUY</author><pubDate>Fri, 18 Dec 2020 18:16:53 +0800</pubDate><description><![CDATA[亲测跑通

环境：

   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...]]></description><category></category></item><item><title><![CDATA[基于tensorflow-hub使用预训练bert模型——简单易上手成功率百分百]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/108898206</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/108898206</guid><author>NOT_GUY</author><pubDate>Fri, 02 Oct 2020 00:11:51 +0800</pubDate><description><![CDATA[最近，研究了下如何使用基于tensorflow-hub中预训练bert，一开始找到的关于预模型使用介绍的官方教程国内打不开，所以看了很多博客遇到了很多坑，直至最后找到能打开的教程，才发现使用很简单。

实验版本：

    tensorflow版本: 2.3.0

    tensorflow-hub版本：0.9.0

    python版本: 3.7.6

数据准备：

    首先，熟悉bert的都知道输入有3个：input_ids、input_mask、seg...]]></description><category></category></item><item><title><![CDATA[Non-OK-status: tensorflow::Env::Default()-＞DeleteFile(ptx_path) status: Not found]]></title><link>https://blog.youkuaiyun.com/NOT_GUY/article/details/108839149</link><guid>https://blog.youkuaiyun.com/NOT_GUY/article/details/108839149</guid><author>NOT_GUY</author><pubDate>Mon, 28 Sep 2020 00:25:48 +0800</pubDate><description><![CDATA[最近在跑程序时，出现过好几次这个问题，当时在官方tensorflow的github上查到了这个问题，见：https://github.com/tensorflow/tensorflow/issues/39712，工作人员回复让试一下tf-nightly（应该是最新迭代的版本），但由于tensorflow版本多人再用，所以也没试这种方法。

今天又碰到这个问题，研究了一下，下面首先给出我这里几次碰到这个问题的背景：

（1）由于有多人在使用GPU，所以前几次都是在GPU占用比较大的情况下，然后我跑个程序就出现]]></description><category></category></item></channel></rss>