上一篇装好了tensorflow的运行环境,开始尝试运行一些实例代码,在github上找到了一个tensorflow实现的facenet的代码,还是遇到了很多坑!

坚持看完,有重要总结!

代码:https://github.com/davidsandberg/facenet

clone完毕后, 直接运行validate_on_lfw.py ,接下来就是一堆坑!

可能是新装的Ubuntu, 里面缺少太多东西了, 先装了多少东西基本不记得了, 起码还要安装好这两个:

apt-get install cmake
apt-get install python-dev

接下来从装 dlib 开始说起

开始直接用 pip install dlib 安装, 报错, 错误内容太多,且没有实际意义就不贴上来了,
关键是要再运行一次pip install dlib , 就会发现一个“非常人性化”的提示(我是真不知道为什么装不上,找了好久安装方法)

-- Could NOT find Boost
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so (found suitable version "2.7.12", minimum required is "2.6")
-- *****************************************************************************************************
-- To compile Boost.Python yourself download boost from boost.org and then go into the boost root folder
-- and run these commands:
-- ./bootstrap.sh --with-libraries=python
-- ./b2
-- sudo ./b2 install
-- *****************************************************************************************************

关键信息就是说, 要自己去boost.org官网下载安装包,按照以下步骤安装!(如果第一次就提示了该多好, 非要执行两次pip install dlib,才告诉我)

按照如上提示装好boost后,在pip install dlib, 很顺利就装好了! (前提是一定要装了cmake和python-dev, 否则还有其他问题,在这不多说了, 总之依赖关系不能一次性全告诉你, 就跟到机关办手续一样麻烦)

dlib装好后, 还要再装这些:

pip install matplotlib
pip install sklearn
apt-get install python-tk

这些比较顺利,不多说了!


全部装好了, 运行 validate_on_lfw.py, 依然出现奇葩的问题“段错误 (核心已转储) ” (segement fault core dump),完全无从查起, 后来知道有gdb, 目前还不知道怎么用!

后来去试代码发现,只要是import tensorflow 就会崩溃,哪怕只有这么一句也会,

再后来从https://github.com/tensorflow/tensorflow/issues/2129 找到了解决方法, 要先import numpy,就不会崩溃, 不知道是tensorflow的什么问题导致的!


重要结论是什么呢?

1、github上的issues 真的很有用, 一般你遇到的问题, 在issues上都能找到
2、github的wiki一点要好好看, https://github.com/davidsandberg/facenet/wiki 一直就只看了“Home”,其他的“Validate on lfw”等都没看, 导致很多问题折腾了好久

希望能对大家有所帮助!

尝试在tensorflow上运行facenet的更多相关文章

  1. 在Docker和Kubernetes上运行MongoDB微服务

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟.容器是完全使用沙箱机制,相互之间不会有任何接 ...

  2. TensorFlow分布式在Amazon AWS上运行

    TensorFlow分布式在Amazon AWS上运行 Amazon AWS 提供采用 NVIDIA K8 GPU 的 P2.x 机器.为了能够使用,第一步还需要创建一个 Amazon AWS 账户, ...

  3. Paragraph Vector在Gensim和Tensorflow上的编写以及应用

    上一期讨论了Tensorflow以及Gensim的Word2Vec模型的建设以及对比.这一期,我们来看一看Mikolov的另一个模型,即Paragraph Vector模型.目前,Mikolov以及B ...

  4. docker_facenet_image在Docker容器中运行Facenet环境搭建

    对开发和运维人员来说,可能最梦寐以求的就是一次性地创建或配置,可以在任意环境.任意时间让应用正常运行.而Docker恰恰是可以实现这一终极目标的瑞士军刀. 具体来说,Docker在开发和运维过程中,具 ...

  5. Linux上运行NET

    今天尝试了下Ubuntu上运行NET程序,按照 https://github.com/aspnet/Home 的指引,一步一步来: 1.安装DNVM(原名KVM) Linux控制台下输入 curl - ...

  6. 【无私分享:ASP.NET CORE 项目实战(第十章)】发布项目到 Linux 上运行 Core 项目

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win7)上用虚拟机建了个 CentOS7 ,来演示下 ...

  7. 不装mono,你的.NET程序照样可以在Linux上运行!

    让.NET应用程序在linux上运行,目前通用的做法就是在Linux上安装mono,然后通过”mono your.exe“命令运行这个程序. 这种运行.net程序的办法有两个弱点,一个是需要客户机安装 ...

  8. Firefox上运行自动化测试脚本提示元素无法点击“WebDriverException: Message: Element is not clickable at point“解决方法

    1. Firefox上运行脚本时提示“WebDriverException: Message: Element is not clickable at point (934.316650390625, ...

  9. 尝试在Linux上编译KestrelHttpServer

    Kestrel是目前在非Windows平台上运行ASP.NET 5应用程序的唯一可用Web服务器,但微软似乎将它冷落在一边,源代码更新很慢. 今天试着在Linux上编译Kestrel的源代码,遇到了很 ...

随机推荐

  1. 基于javascript实现图片懒加载(亲测有效)

    这篇文章主要介绍了javascript实现图片懒加载的方法及思路,有时我们需要用懒加载,也就是延迟加载图片的方式,来提高网站的亲和力,需要的朋友可以参考下! 一.定义 图片延迟加载也称为懒加载,延迟加 ...

  2. 大姨吗向左,美柚向右,女性健康APP路在何方?

    日前,中国IT研究中心发布了<2016Q3中国女性健康管理APP市场研究报告>,报告显示大姨吗与美柚占据了整个行业的绝对优势,大姨吗的行业用户覆盖率最高,美柚则在月活用户数方面领先. 不过 ...

  3. JavaWeb学习总结(十二)——Session

    一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...

  4. Leetcode 67 Add Binary 大数加法+字符串处理

    题意:两个二进制数相加,大数加法的变形 大数加法流程: 1.倒置两个大数,这一步能使所有大数对齐 2.逐位相加,同时进位 3.倒置两个大数的和作为输出 class Solution { public: ...

  5. python中os和sys模块的详解

    平时在工作中经常会用到os模块和sys模块的一些特性,下面是这些特性的一些相关解释,希望对大家有所帮助 os模块 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os. ...

  6. bind() live()和delegate 区别

    Event bubbling (aka event propagation)冒泡 我们的页面可以理解为一棵DOM树,当我们在叶子结点上做什么事情的时候(如click一个a元素),如果我们不人为的设置s ...

  7. Gabor学习笔记

    本文根据博客http://blog.csdn.net/watkinsong/article/details/7870996 ,博客http://www.cnblogs.com/yingying0907 ...

  8. Python多线程编程之多线程加锁

    Python语言本身是支持多线程的,不像PHP语言. 下面的例子是多个线程做同一批任务,任务总是有task_num个,每次线程做一个任务(print),做完后继续取任务,直到所有任务完成为止. #co ...

  9. gridlaylout 简单布局

    package com.example.gridlayout; import android.app.Activity; import android.os.Bundle; import androi ...

  10. #入魔这些年#零度智控&模型控社区大型征文活动,万元大奖等你拿

        玩航模是个好爱好,它能培养严谨的科学态度.超强的DIY动手能力.规范的项目管理习惯.良好的沟通合作技巧.过人的三维空间思维和感知: 你需要的知识储备有力学.空气动力学.电子学.通讯工程.材料学 ...