<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>张大鹏</title>
    <description>欢迎来到我的个人站~</description>
    <link>http://dp1019.github.io/</link>
    <atom:link href="http://dp1019.github.io/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Mon, 05 Feb 2018 10:21:25 +0000</pubDate>
    <lastBuildDate>Mon, 05 Feb 2018 10:21:25 +0000</lastBuildDate>
    <generator>Jekyll v3.6.2</generator>
    
      <item>
        <title></title>
        <description>&lt;p&gt;###php下&amp;amp;&amp;amp;和and有什么区别
		php中的逻辑“与”有两种形式：and 和 &amp;amp;&amp;amp;，同样的“或”运算也有or 和 ||两种形式
	如果单独两个表达式参与的运算，两种形式的结果完全相同，例如: $a and $b 和 $a &amp;amp;&amp;amp; $b没有任何区别。同样的$a or $b 和$a || $b 也完全一样。
		但是两种形式的逻辑运算符优先级不同,这四个符号的优先级从高到低是：&amp;amp;&amp;amp; || and or 。特别注意，这句话要仔细理解。举例：
	$a || $b and $c || $d         相当于   ($a || $b) and ($c || $d)&lt;/p&gt;
</description>
        <pubDate>Mon, 05 Feb 2018 10:21:25 +0000</pubDate>
        <link>http://dp1019.github.io/2018/02/2018-2-5-andOr/</link>
        <guid isPermaLink="true">http://dp1019.github.io/2018/02/2018-2-5-andOr/</guid>
        
        
      </item>
    
      <item>
        <title></title>
        <description>&lt;p&gt;###一、编程是技能，不是知识，技能只有在不断练习下才会有进步。
	windows下安装mongodb的步骤
	1、&lt;/p&gt;
</description>
        <pubDate>Mon, 05 Feb 2018 10:21:25 +0000</pubDate>
        <link>http://dp1019.github.io/2018/02/2018-1-30-studyingOne/</link>
        <guid isPermaLink="true">http://dp1019.github.io/2018/02/2018-1-30-studyingOne/</guid>
        
        
      </item>
    
      <item>
        <title></title>
        <description>&lt;h3 id=&quot;一七牛云&quot;&gt;一、七牛云&lt;/h3&gt;
&lt;p&gt;当项目上线后，其中可能含有容量较大的图片、视频等静态资源，为节省服务器空间，将这些资源上传到七牛云，将其返回的资源路径存在服务器数据库中
&lt;a href=&quot;https://developer.qiniu.com/kodo/sdk/1241/php&quot;&gt;七牛云网址&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;本地利用upload.php上传本地文件类：&lt;/p&gt;

&lt;p&gt;《——————————-上传类——————————-》&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;?php
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;namespace app\admin\controller;
use think\Controller;
use think\File;
use think\Request;
use Qiniu\Storage\UploadManager;
use Qiniu\Storage\BucketManager;
use Qiniu\Auth;
//cXuruOsjHdk6kVGu4lVx7izG1O96ZyK8lis32ZDG
//a7em2JOptQXuD6Hf85DsOLjHjBlvLjC6DhmxzRef
class Upload extends Base
{
	//图片上传
    public function uploadlocal(){
       $file = request()-&amp;gt;file(‘file’);
       $info = $file-&amp;gt;move(ROOT_PATH . ‘public’ . DS . ‘uploads/images’);
       if($info){
            echo $info-&amp;gt;getSaveName();
        }else{
            echo $file-&amp;gt;getError();
        }
    }&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;//会员头像上传
public function uploadface(){
   $file = request()-&amp;gt;file('file');
   $info = $file-&amp;gt;move(ROOT_PATH . 'public' . DS . 'uploads/face');
   if($info){
        echo $info-&amp;gt;getSaveName();
    }else{
        echo $file-&amp;gt;getError();
    }
}
public function uploadqiniu()
{
    if(request()-&amp;gt;isPost()){
        $file = request()-&amp;gt;file('file');
        // 要上传图片的本地路径
        $filePath = $file-&amp;gt;getRealPath();
        $ext = pathinfo($file-&amp;gt;getInfo('name'), PATHINFO_EXTENSION);  //后缀
        //获取当前控制器名称
        $controllerName=request()-&amp;gt;controller();
        // 上传到七牛后保存的文件名
        $key =substr(md5($file-&amp;gt;getRealPath()) , 0, 5). date('YmdHis') . rand(0, 9999) . '.' . $ext;
        require_once APP_PATH . '/../vendor/autoload.php';
        // 需要填写你的 Access Key 和 Secret Key
        $accessKey = config('ACCESSKEY');
        $secretKey = config('SECRETKEY');
        // 构建鉴权对象
        $auth = new Auth($accessKey, $secretKey);
        // 要上传的空间
        $bucket = config('BUCKET');
        $domain = config('DOMAIN');
        $token = $auth-&amp;gt;uploadToken($bucket);
        // 初始化 UploadManager 对象并进行文件的上传
        $uploadMgr = new UploadManager();
        // 调用 UploadManager 的 putFile 方法进行文件的上传
        list($ret, $err) = $uploadMgr-&amp;gt;putFile($token, $key, $filePath);
        if ($err !== null) { //              return [&quot;err&quot;=&amp;gt;1,&quot;msg&quot;=&amp;gt;$err,&quot;data&quot;=&amp;gt;&quot;&quot;];
			echo '上传失败';
        } else {
            //返回图片的完整URL
            //return json([&quot;err&quot;=&amp;gt;0,&quot;msg&quot;=&amp;gt;&quot;上传完成&quot;,&quot;data&quot;=&amp;gt;$domain .'/' .$ret['key']]);
			echo 'http://' . $domain . '/' .$ret['key'];
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;《——————————-上传类结束——————————-》&lt;/p&gt;

&lt;h3 id=&quot;二php和redis实现在高并发下的抢购及秒杀功能示例详解&quot;&gt;二、PHP和Redis实现在高并发下的抢购及秒杀功能示例详解&lt;/h3&gt;

</description>
        <pubDate>Mon, 05 Feb 2018 10:21:25 +0000</pubDate>
        <link>http://dp1019.github.io/2018/02/2018-1-26-%E5%85%B3%E4%BA%8E%E4%B8%83%E7%89%9B%E4%BA%91%E7%9A%84%E4%B8%80%E4%BA%9B%E7%94%A8%E6%B3%95/</link>
        <guid isPermaLink="true">http://dp1019.github.io/2018/02/2018-1-26-%E5%85%B3%E4%BA%8E%E4%B8%83%E7%89%9B%E4%BA%91%E7%9A%84%E4%B8%80%E4%BA%9B%E7%94%A8%E6%B3%95/</guid>
        
        
      </item>
    
      <item>
        <title>FirstDay：在GithubPages上搭建个人主页</title>
        <description>&lt;p&gt;每个人都想记录自己一路走过来的历程吧，就像小时候经常写日记，可笑的是那时候是被逼着‘写日记’，而现在，确实实实在在想记录下自己的生活、感情、工作、学习；尝试着在qq其偶像里面用记事本写日记，记录平时看到的‘知识’；这次面试的考察任务是在Githubpages上面见一个自己的主页，开始也是一脸茫然。带我们的冯欣，‘世界上90%的问题都可以通过百度解决’，之后就看了好多教程，了解博客的搭建过程，一般的创建自己喜欢的风格可控的博客，是需要花点money买个主机的，或者再买个域名啥的，至少每月￥40的付出，反正是自己建着玩的，也没必要花这个冤枉钱嘛，github上面建自己的博客，不需要花钱，而且人家还给你免费托管，这真是一笔换算的买卖啊。
这个个人主页是fork别人的，保护作者版权，后面附有&lt;a href=&quot;https://github.com/leopardpan/leopardpan.github.io&quot;&gt;github地址leopardpan&lt;/a&gt;,可以在这里fork原著哦&lt;/p&gt;

&lt;p&gt;建博客主要步骤是这样的&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;修改博客基础信息（_config.yml文件）&lt;/li&gt;
  &lt;li&gt;发布文章（基本使用的post模板样式）&lt;/li&gt;
  &lt;li&gt;修改博客样式（这个可以在css样式中进行修改啊）&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;博客模板根目录下的基本结构为&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;.
├── _config.yml
├── _includes    
├── _layouts
├── _posts
├── _site
├── 404.html
├── about.md
├── archive.html
├── CNAME
├── css
├── feed.xml
├── Gemfile
├── Gemfile.lock
├── images
├── index.html
├── js
├── Rakefile
├── README.md
└── tags.html

下面的评论区留言采用的是来必力的一款社会化评论软件，直接在线引用，很不错。
来必力申请的帐号密码见qq邮箱记事本
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Sun, 21 Jan 2018 00:00:00 +0000</pubDate>
        <link>http://dp1019.github.io/2018/01/myFirst/</link>
        <guid isPermaLink="true">http://dp1019.github.io/2018/01/myFirst/</guid>
        
        <category>杂谈</category>
        
        
      </item>
    
      <item>
        <title>iOS开发迎来机器学习的春天---TensorFlow</title>
        <description>&lt;div align=&quot;center&quot;&gt;
	&lt;img src=&quot;/images/posts/tfimg/logo.jpg&quot; height=&quot;300&quot; width=&quot;500&quot; /&gt;  
&lt;/div&gt;

&lt;p&gt;　　&lt;code class=&quot;highlighter-rouge&quot;&gt;人工智能&lt;/code&gt;、&lt;code class=&quot;highlighter-rouge&quot;&gt;机器学习&lt;/code&gt;都已走进了我们的日常，尤其是愈演愈热的大数据更是跟我们的生活息息相关，做 &lt;code class=&quot;highlighter-rouge&quot;&gt;人工智能&lt;/code&gt;、&lt;code class=&quot;highlighter-rouge&quot;&gt;数据挖掘&lt;/code&gt;的人在其他人眼中感觉是很高大上的，总有一种遥不可及的感觉，在我司也经常会听到数据科学部的同事们提到 &lt;code class=&quot;highlighter-rouge&quot;&gt;机器学习&lt;/code&gt;、&lt;code class=&quot;highlighter-rouge&quot;&gt;数据挖掘&lt;/code&gt; 之类的词。但这些名词真的跟我们移动开发就没直接关系了吗？           &lt;br /&gt;
　　作为移动开发者来说，无时无刻不被这些名词狠狠地敲打着脆弱的内心。💢 💢 💢  何时才能够将&lt;code class=&quot;highlighter-rouge&quot;&gt;机器学习&lt;/code&gt;、&lt;code class=&quot;highlighter-rouge&quot;&gt;深度学习&lt;/code&gt;应用在移动端，敲响移动端&lt;code class=&quot;highlighter-rouge&quot;&gt;机器学习&lt;/code&gt;工业化的大门呢？&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;想象一下，某一天你身处一个完全陌生的环境，周围都是陌生的事物，而运行在iPhone的某个APP却对这个环境了如指掌，你要做的就是打开这个APP，输入你需要了解的事物，iPhone告诉你这个事物的信息，你也就没有了陌生事物了。世界就在眼前！&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;如下图：&lt;/p&gt;
&lt;div align=&quot;center&quot;&gt;
	&lt;img src=&quot;/images/posts/tfimg/image02.png&quot; height=&quot;300&quot; width=&quot;480&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;上面物体的识别准确率还是蛮不错的，基本识别出了键盘（49%的概率）、鼠标（46%的概率）和水杯（24%的概率）。&lt;/p&gt;

&lt;p&gt;但是在某些事物的识别准确度方便却差强人意，比如下图：&lt;/p&gt;

&lt;div align=&quot;center&quot;&gt;
　　&lt;img src=&quot;/images/posts/tfimg/image01.png&quot; height=&quot;300&quot; width=&quot;320&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;　　iPhone 6被识别成了iPod（59%的概率），而iPod的却是不怎么敢认（10%的概率）。想想最崩溃的估计是iPhone 6了，身价直接被降了好几个等级。&lt;/p&gt;

&lt;div align=&quot;center&quot;&gt;
　　&lt;img src=&quot;/images/posts/tfimg/wq.jpg&quot; height=&quot;320&quot; width=&quot;240&quot; /&gt;  
&lt;/div&gt;

&lt;p&gt;　　上面的例子来自于TensorFlow官方iOSDemo，暂且不评述TensorFlow的识别准确度如何，毕竟它还年轻，但是仅凭其识别能力的体现，也给机器学习在移动端的运用带来了无限的可能。&lt;/p&gt;

&lt;h3 id=&quot;一tensorflow简称tf&quot;&gt;一、TensorFlow（简称TF）&lt;/h3&gt;

&lt;p&gt;　　去年，Google资深系统专家Jeff Dean在湾区机器学习大会上隆重介绍了其第二代深度学习系统&lt;a href=&quot;http://www.tensorflow.org/&quot;&gt;TensorFlow&lt;/a&gt;，一时间网络上针对TensorFlow的文章铺天盖地，&lt;a href=&quot;http://www.leiphone.com/news/201511/UDLyNds2oSTwM2yZ.html&quot;&gt;揭秘TensorFlow：Google开源到底开的是什么？&lt;/a&gt;、&lt;a href=&quot;http://www.leiphone.com/news/201511/Voza1pFNQB4bzKdR.html&quot;&gt;Google开源TensorFlow系统，这背后都有什么门道？&lt;/a&gt;、&lt;a href=&quot;http://www.zhihu.com/question/37243838&quot;&gt;如何评价Google发布的第二代深度学习系统TensorFlow?&lt;/a&gt;等等文章，TensorFlow的燎原之火一直在燃烧蔓延着，其&lt;a href=&quot;https://github.com/tensorflow/tensorflow&quot;&gt;GitHub上的开源库&lt;/a&gt;在此文撰写时，也已经被&lt;code class=&quot;highlighter-rouge&quot;&gt;star：27550&lt;/code&gt;，&lt;code class=&quot;highlighter-rouge&quot;&gt;fork：11054&lt;/code&gt;了。🔥 🔥 🔥 🔥 🔥&lt;/p&gt;

&lt;p&gt;不负众望，Google一直宣称平台移植性非常好的TensorFlow，终于在2016年6月27日，发布0.9版本，宣布移动端支持。&lt;a href=&quot;https://developers.googleblog.com/2016/06/tensorflow-v09-now-available-with.html&quot;&gt;TensorFlow v0.9 now available with improved mobile support&lt;/a&gt;( 有墙💢 )，同时也给出了移动端的&lt;a href=&quot;https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/ios_examples&quot;&gt;Demo&lt;/a&gt;，对于代码为生的程序员，身处大数据处理为主导的&lt;a href=&quot;http://www.talkingdata.com/&quot;&gt;TalkingData&lt;/a&gt;，也小试身手了一把，下载TensorFlow源码，查看编译指南，开始跳坑、填坑之路，也成就了此篇拙文的产生。&lt;/p&gt;

&lt;h3 id=&quot;二从tensorflow到ios静态库&quot;&gt;二、从TensorFlow到iOS静态库&lt;/h3&gt;

&lt;p&gt;对于iOS平台下如何使用TensorFlow，TensorFlow给出了详细的编译脚本命令，详情请查看&lt;a href=&quot;https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/makefile&quot;&gt;官方文档的命令&lt;/a&gt;。&lt;/p&gt;

&lt;h5 id=&quot;第一步-工具准备&quot;&gt;第一步. 工具准备&lt;/h5&gt;

&lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;工欲善其事必先利其器&lt;/code&gt;，在开始编译工作之前，需要准备一些编译所必须的工具：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;http://brew.sh/&quot;&gt;Homebrew&lt;/a&gt;: Mac os x 上包管理工具，具体使用方法可参考&lt;a href=&quot;http://brew.sh/index_zh-cn.html&quot;&gt;Doc&lt;/a&gt;。&lt;/li&gt;
&lt;/ol&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ /usr/bin/ruby -e &quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ol&gt;
  &lt;li&gt;Homebrew安装好之后，依次安装三个辅助性编译工具：&lt;/li&gt;
&lt;/ol&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ brew install libtool   
$ brew install autoconf   
$ brew install automake   
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;三个工具的含义，请参考：&lt;a href=&quot;https://en.wikipedia.org/wiki/GNU_Libtool&quot;&gt;https://en.wikipedia.org/wiki/GNU_Libtool&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h5 id=&quot;第二步-克隆tensorflow&quot;&gt;第二步. 克隆TensorFlow&lt;/h5&gt;

&lt;p&gt;Google以&lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot;&gt;Apache 2.0&lt;/a&gt;开源协议将TensorFlow开源在&lt;a href=&quot;https://github.com/tensorflow/tensorflow&quot;&gt;GitHub&lt;/a&gt;上，我们可以直接使用TensorFlow源码。&lt;/p&gt;

&lt;p&gt;在任意你想存放TensorFlow源码的地方（建议不要放在桌面。^_^），clone项目。&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ git clone https://github.com/tensorflow/tensorflow
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h5 id=&quot;第三步-编译前准备&quot;&gt;第三步. 编译前准备&lt;/h5&gt;

&lt;p&gt;　　在TensorFlow的&lt;code class=&quot;highlighter-rouge&quot;&gt;tensorflow/contrib/makefile/&lt;/code&gt;目录下，有很多可使用的编译脚本，其中&lt;code class=&quot;highlighter-rouge&quot;&gt;build_all_ios.sh&lt;/code&gt;脚本专门用来一键编译TensorFlow iOS静态库。虽然可以直接使用此脚本进行一键编译，但是因为有墙，某些依赖需要提前做处理。&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;下载protobuf&lt;/p&gt;

    &lt;p&gt;protobuf 是编译前唯一需要特殊处理的依赖库，&lt;a href=&quot;https://github.com/google/protobuf/archive/master.zip&quot;&gt;点击下载&lt;/a&gt;，下载protobuf之后，解压，备用。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;下载googlemock&lt;/p&gt;

    &lt;p&gt;虽然protobuf编译脚本&lt;code class=&quot;highlighter-rouge&quot;&gt;autogen.sh&lt;/code&gt;中的googlemock链接地址&lt;code class=&quot;highlighter-rouge&quot;&gt;https://googlemock.googlecode.com/files/gmock-1.7.0.zip&lt;/code&gt;无法直接下载到，但是细心的人会发现，在浏览器中输入&lt;code class=&quot;highlighter-rouge&quot;&gt;https://googlemock.googlecode.com/&lt;/code&gt;地址后，会跳转到&lt;code class=&quot;highlighter-rouge&quot;&gt;https://github.com/google/googlemock&lt;/code&gt;地址，google在GiHub上的仓库地址。而GitHub上的仓库，我们可以直接的下载，克隆等。&lt;/p&gt;

    &lt;p&gt;我们直接在GitHub上下载googlemock(&lt;a href=&quot;https://github.com/google/googlemock/archive/master.zip&quot;&gt;点击下载&lt;/a&gt;)，下载完成后，修改压缩包名字为&lt;code class=&quot;highlighter-rouge&quot;&gt;gmock-1.7.0.zip&lt;/code&gt;，修改后将此压缩包移至上一步protobuf文件夹目录下，备用。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;修改下载依赖脚本，移除protobuf的下载&lt;/p&gt;

    &lt;p&gt;在&lt;code class=&quot;highlighter-rouge&quot;&gt;tensorflow/contrib/makefile/&lt;/code&gt;目录下，&lt;code class=&quot;highlighter-rouge&quot;&gt;download_dependencies.sh&lt;/code&gt;脚本用来下载相关依赖，打开此脚本文件，注释掉或者直接删掉&lt;code class=&quot;highlighter-rouge&quot;&gt;git clone https://github.com/google/protobuf.git ${DOWNLOADS_DIR}/protobuf&lt;/code&gt;部分，目的是不让脚本去下载protobuf。&lt;/p&gt;

    &lt;p&gt;上面三步准备好后，接下来就进入静态库编译了。&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h5 id=&quot;第四步-一键编译&quot;&gt;第四步. 一键编译&lt;/h5&gt;

&lt;p&gt;　　前面已经知道在TensorFlow文件夹&lt;code class=&quot;highlighter-rouge&quot;&gt;tensorflow/contrib/makefile/&lt;/code&gt;目录下的&lt;code class=&quot;highlighter-rouge&quot;&gt;build_all_ios.sh&lt;/code&gt;脚本是用来编译iOS静态库的脚本，因此可以直接执行此脚本，开始静态库的编译工作了。&lt;/p&gt;

&lt;p&gt;　　但是有一个问题大家可能会发现，由于编译TensorFlow需要用到protobuf，但是protobuf使我们自己手动下载的，该怎么让手动下载的protobuf能够直接让&lt;code class=&quot;highlighter-rouge&quot;&gt;build_all_ios.sh&lt;/code&gt;脚本使用呢？&lt;/p&gt;

&lt;p&gt;　　答案是&lt;code class=&quot;highlighter-rouge&quot;&gt;复制、粘贴&lt;/code&gt;。可能有些low，但是有效。执行命令 &lt;code class=&quot;highlighter-rouge&quot;&gt;build_all_ios.sh&lt;/code&gt;之后，立即把之前手动下载的protobuf文件夹拷贝进&lt;code class=&quot;highlighter-rouge&quot;&gt;tensorflow/contrib/makefile/downloads&lt;/code&gt;目录。（放心，你拷贝的速度会很快，不会影响编译的执行的。^_^）&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ build_all_ios.sh    
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;　　一切准备就绪，接下来就是静静的等待编译完成了。在Mac编译的过程中，建议插上电源，最好不要让设备休眠断电，也最好不要去干别的东西，出去溜达一圈，回来后就看到战果了。&lt;/p&gt;

&lt;p&gt;编译完成之后，会在&lt;code class=&quot;highlighter-rouge&quot;&gt;tensorflow/contrib/makefile/gen/&lt;/code&gt;目录下看到编译的结果，关于这些静态库该如何使用，自己的项目如何应用，请参考&lt;a href=&quot;https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/ios_examples&quot;&gt;TensorFlow iOS Examples&lt;/a&gt;。&lt;/p&gt;

&lt;h3 id=&quot;三遇到的问题&quot;&gt;三、遇到的问题&lt;/h3&gt;

&lt;p&gt;1、googlecode.com被墙了，需要翻墙！（目前测试挂了VPN也没用），这也是上面编译前准备为什么要那么做的原因。&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;curl: (7) Failed to connect to googlemock.googlecode.com port 443: Operation timed out
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;解决： 请参考 『第三步. 编译前准备』。&lt;/p&gt;

&lt;p&gt;2、没有Xcode。&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;xcrun: error: SDK &quot;iphoneos&quot; cannot be located
xcrun: error: SDK &quot;iphoneos&quot; cannot be located
xcrun: error: unable to lookup item 'PlatformPath' in SDK 'iphoneos'
+ IPHONEOS_PLATFORM=
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;解决：安装Xcode，从上面报错的命令中可以看到，在编译静态库的过程中使用了&lt;code class=&quot;highlighter-rouge&quot;&gt;xcrun&lt;/code&gt;，而此命令是xCode本身具有的能力。&lt;/p&gt;

&lt;p&gt;3、你的Xcode版本不是7.3或以后，或者你有多个Xcode，而默认的安装路径版本不是7.3或以后。&lt;/p&gt;

&lt;p&gt;```
error: Xcode 7.3.0 or later is required.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;exit 1
```/&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;解决：更新Xcode至最新版本，并且保证默认路径下是最新/版本。&lt;/p&gt;

&lt;p&gt;如果Xcode是7.3，并且没有条件更新Xcode，你可以修改&lt;code class=&quot;highlighter-rouge&quot;&gt;tensorflow/contrib/makefile/compile_ios_tensorflow.sh&lt;/code&gt; 里的&lt;code class=&quot;highlighter-rouge&quot;&gt;REQUIRED_XCODE_VERSION=7.3.0&lt;/code&gt;，为&lt;code class=&quot;highlighter-rouge&quot;&gt;REQUIRED_XCODE_VERSION=7.3&lt;/code&gt;。（这样修改，目前还不确定会不会带来一些其他影响，最好是升级你的Xcode）&lt;/p&gt;

&lt;h3 id=&quot;四参考链接&quot;&gt;四、参考链接&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://tensorfly.cn/&quot;&gt;TensorFlow 中文社区&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.tensorflow.org/mobile.html&quot;&gt;TensorFlow for Mobile&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://chenrudan.github.io/blog/2015/11/18/comparethreeopenlib.html&quot;&gt;Caffe、TensorFlow、MXnet三个开源库对比&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://weibo.com/p/1001603907610737775666&quot;&gt;如何评价Tensorflow和其它深度学习系统&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.algorithmdog.com/%E8%B0%81%E5%B0%86%E5%A4%BA%E5%8F%96%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E5%B7%A5%E4%B8%9A%E6%A0%87%E5%87%86%E7%9A%84%E8%8D%A3%E8%80%80&quot;&gt;深度学习框架大战正在进行，谁将夺取“深度学习工业标准”的荣耀？&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;转载请注明：&lt;a href=&quot;http://baixin&quot;&gt;潘柏信的博客&lt;/a&gt; » &lt;a href=&quot;http://baixin.io/2016/07/iOSMachineLearning_TensorFlow/&quot;&gt;点击阅读原文&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Sun, 21 Jan 2018 00:00:00 +0000</pubDate>
        <link>http://dp1019.github.io/2018/01/iOSMachineLearning_TensorFlow/</link>
        <guid isPermaLink="true">http://dp1019.github.io/2018/01/iOSMachineLearning_TensorFlow/</guid>
        
        <category>机器</category>
        
        
      </item>
    
      <item>
        <title>Git教程</title>
        <description>&lt;h3 id=&quot;介绍&quot;&gt;介绍&lt;/h3&gt;

&lt;p&gt;　　Git是做项目的版本管理，你也可以称它们为版本管理工具。假如现在你有一个文件夹，里面可以是项目，也可以是你的个人笔记(如我这个博客)，或者是你的简历、毕业设计等等，都可以使用git来管理。&lt;/p&gt;

&lt;p&gt;　　目前常用的版本控制器有Git和SVN，即使这两个你没有全用过，至少也会听过，我这里以Git为例，个人比较喜欢Git，你也可以看看这篇文章：&lt;a href=&quot;http://www.worldhello.net/2012/04/12/why-git-is-better-than-svn.html&quot;&gt;为什么Git比SVN好&lt;/a&gt;。我使用的是Mac，Mac上没自带Git环境，但是作为iOS开发者，我安装Xcode的时候，Xcode里是有自带Git的，所以我不需要考虑怎么去安装Git了。&lt;/p&gt;

&lt;h3 id=&quot;安装git&quot;&gt;安装Git&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;在Mac OS X上安装Git&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;提供两种方法参考：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;1、通过homebrew安装Git，具体方法请参考&lt;a href=&quot;http://brew.sh/&quot;&gt;homebrew的文档&lt;/a&gt;    &lt;br /&gt;
2、直接从AppStore安装Xcode，Xcode集成了Git，不过默认没有安装，你需要运行Xcode。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;在Windows上安装Git&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;从&lt;a href=&quot;https://git-for-windows.github.io&quot;&gt;https://git-for-windows.github.io&lt;/a&gt; 下载，然后按默认选项安装即可，安装完成后，在开始菜单里找到“Git”-&amp;gt;“Git Bash”，蹦出一个类似命令行窗口的东西，就说明Git安装成功！&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;配置git&quot;&gt;配置Git&lt;/h3&gt;

&lt;p&gt;安装完成后，还需要最后一步设置，在命令行输入：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;ul&gt;
    &lt;li&gt;$ git config –global user.name “Your Name”&lt;/li&gt;
    &lt;li&gt;$ git config –global user.email “email@example.com”&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;“Your Name”： 是每次提交时所显示的用户名，因为Git是分布式版本控制系统，当我们push到远端时，就需要区分每个提交记录具体是谁提交的，这个”Your Name”就是最好的区分。&lt;/p&gt;

&lt;p&gt;“email@example.com”： 是你远端仓库的email&lt;/p&gt;

&lt;p&gt;–global：用了这个参数，表示你这台机器上所有的Git仓库都会使用这个配置，当然我们也可以对某个仓库指定不同的用户名和Email地址。&lt;/p&gt;

&lt;h3 id=&quot;开始使用-建立仓库&quot;&gt;开始使用-建立仓库：&lt;/h3&gt;

&lt;p&gt;你在目标文件夹下使命令：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;ul&gt;
    &lt;li&gt;git init  （创建.git文件）&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;就会创建一个 &lt;code class=&quot;highlighter-rouge&quot;&gt;.git&lt;/code&gt; 隐藏文件，相当于已经建立了一个本地仓库。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;添加到暂存区：&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;ul&gt;
    &lt;li&gt;git add .   （全部添加到暂存区）&lt;/li&gt;
    &lt;li&gt;git commit -m ‘ first commit’  （提交暂存区的记录到本地仓库）&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;其它&quot;&gt;其它&lt;/h3&gt;

&lt;p&gt;git branc 查看时如出现&lt;/p&gt;

&lt;blockquote&gt;
  &lt;ul&gt;
    &lt;li&gt;(HEAD detached at analytics_v2)&lt;/li&gt;
    &lt;li&gt;dev&lt;/li&gt;
    &lt;li&gt;master&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;代表现在已经进入一个临时的HEAD，可以使用 &lt;code class=&quot;highlighter-rouge&quot;&gt;git checkout -b temp&lt;/code&gt; 创建一个 temp branch，这样临时HEAD上修改的东西就不会被丢掉了。
然后切换到 dev 分支上，在使用 git branch merge temp，就可以把 temp 分支上的代码合并到 dev 上了。&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;转载请注明：&lt;a href=&quot;http://baixin&quot;&gt;潘柏信的博客&lt;/a&gt; » &lt;a href=&quot;http://baixin.io/2016/07/GitTutorial/&quot;&gt;点击阅读原文&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Sun, 21 Jan 2018 00:00:00 +0000</pubDate>
        <link>http://dp1019.github.io/2018/01/GitTutorial/</link>
        <guid isPermaLink="true">http://dp1019.github.io/2018/01/GitTutorial/</guid>
        
        <category>工具</category>
        
        
      </item>
    
  </channel>
</rss>
