darknet是一个用纯c语言开发的基于cudnn的深度学习框架,有python的接口,在目标检测领域具有非常重要的影响力,支持cpu和gpu,cpu版本就不多说了,下面介绍如何编译gpu版本的darknet

1、下载源代码

官网githup地址:https://github.com/pjreddie/darknet

# 用git命令下载
git clone https://github.com/pjreddie/darknet.git

因为githup在国外,如果觉得下载有点慢,我本地已经提前下载,下载地址:darknet-master.zip

# 用wget命令下载
wget -c -t 20 https://www.ivdone.top/wordpress/pic/p1710/darknet-master.zip

2、编译安装gpu版本darknet

先设置环境变量,查看你的cuda安装目录,比如我的安装目录如下:

/usr/local/cuda

darknet需要nvcc的命令,需要导出环境变量

# 编辑bashrc文件
vi ~/.bashrc
# 添加下面的环境变量,然后保存
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
export PATH=/usr/local/cuda/bin:$PATH

如果是本地下载,则解压并进入darknet目录

unzip darknet-master.zip
mv darknet-master darknet
cd darknet/

编辑Makefile文件,修改配置

# 编辑bashrc文件,然后保存
vi Makefile

编译

# 在Makefile文件同级目录直接make
make

成功编译后会产出下面的二进制文件,静态和动态链接库文件

到现在你已经完成darknet的GPU版本的安装,请尽情享受吧

0
Posted in 深度学习&强化学习, 研究, 问题解决

有时我们在html中,如果直接用表单的格式向服务器发送请求,这样会刷新整个web界面,用户的体验感不好,下面介绍如何使用js实现异步请求,可以只改变我们需要改变的界面

1、准备前端html代码

为了说明功能,我们准备最简单的例子

<form method="POST" enctype="multipart/form-data" id="testForm">
      <label for="exampleFormControlFile1" style="font-size: 30px;">请选择文件</label>
      <input type="text" name="input-text">
      <input type="file"  id="exampleFormControlFile" name="file" style="width: 200px;">
      <button type="button" id="button-submit">确认</button>
</form>

2、JS代码

首先必须引入jquery的JS框架,可以直接使用CDN

<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>

在下面实现异步请求

<script>
    $("#button-submit").click(function(){
        // 获取序列化的html表单数据
        var data = new FormData($("#testForm")[0]); 
        $.ajax({ 
          type:'post',  
          url:"/test",  // 你请求的url  需要自己修改哦
          cache: false,    //上传文件不需缓存
          processData: false, //需设置为false。因为data值是FormData对象,不需要对数据做处理
          contentType: false, //需设置为false。因为是FormData对象,且已经声明了属性enctype="multipart/form-data"
          data:data,  // 表单数据
          dataType:'json', 
          success:function(data){  
              // 在这里可以做一些服务程序 ,
              // 比如从服务器接收json格式数据 ,解析,操作html显示数据
              alert("请求成功");
            },
          error:function(){ 
              // 请求失败提示工作
              alert("请求失败");
            }
          });
      });
</script>
0
Posted in 研究, 问题解决

由于web开发需要,需要在用户在web界面从本地选择文件(图像),选择完成之后,在html5界面中显示(预览),下面介绍如何用JavaScript来实现

1、前端html代码

使用bootstrap前端框架

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
    <title>图片预览测试</title>
  </head>
  <body>

    <div class="container mt-3">
      <div class="container">
        <form>
          <div class="form-group">
            <label for="exampleFormControlFile1" style="font-size: 30px;">请选择图片</label>
            <div class="row">
                <div class="col-6">
                    <!-- 用户完成选择文件,就会触发js中fileSelected()的函数代码,从而实现图像预览 -->
                  <input type="file"  id="exampleFormControlFile" name="file" style="width: 200px;" onchange="fileSelected()">
                  <button type="button" class="btn btn-primary" id="button-submit">确认</button>
                </div>
                <div class="col-6">          
                </div>
            </div>
          </div>
        </form>
      </div>
      <div class="container">
        <div class="row">
            <!-- 需要预览的图片显示区 -->
            <div class="col-8"><img id="preview" width="600" ></div>
            <div class="col-4">
            </div>
        </div>
      </div>
    </div>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
    </body>
</html>

2、JS代码

这个js代码放在body中

<script>
      function fileSelected(){
          // 这个地方通过id号获取输入文件对象
        var oFile = document.getElementById('exampleFormControlFile').files[0];
          // 通过id号获取预览的图像显示区
        var oImage = document.getElementById('preview');
        // prepare HTML5 FileReader
        var oReader = new FileReader();
        oReader.onload = function(e){
            oImage.src = e.target.result;
            oImage.onload = function (){
              // do no thing
            };
          };
        // read selected file as DataURL
        oReader.readAsDataURL(oFile);
      }
</script>

3、测试

效果


0
Posted in 学习, 研究, 问题解决

正常来说我们无法用json格式来传输图片的,我们需要将图片文件转换为base64格式,从而可以用json格式来传输,下面介绍两种格式互转的python代码

1、PIL转base64

import base64
from io import BytesIO
from PIL import Image


def PIL_to_base64(image):
    output = BytesIO()
    image.save(output,format='png')
    contents = output.getvalue()
    output.close()
    string = base64.b64encode(contents)
    return string

2、base64转PIL

import base64
import six
from PIL import Image

def base64_to_PIL(string):
    """
    base64 string to PIL
    """
    try:    
            base64_data = base64.b64decode(string)
            buf = six.BytesIO()
            buf.write(base64_data)
            buf.seek(0)
            img = Image.open(buf).convert('RGB')
            return img
    except:
        return None
0
Posted in Python, 研究, 问题解决

本来想在网上找一套开源的周报系统,费了好大的劲,基本没找到合适的,于是寻思着,自己开发一套周报系统,该周报系统基于Django框架开发,我认为非常实用,非常适合学生提交周报,实验室,和一些研究团队,现在将源代码分享给大家,希望大家少走弯路

1、效果

编辑周报

我的周报

新增用户

周报管理

用户管理

2、使用

如有使用需求,请在评论区留下你的邮件等联系方式,用你的联系方式发邮件给我,我的邮件:626086048@qq.com,我将判断你是否有合理的要求,和版权使用情况,通过之后我将发给你一个使用下载链接,链接有下载地址和使用说明!

本程序为www.ivdone.top原创内容,版权归www.ivdone.top所有,请不要用作商业用途,仅供个人学习使用,如有问题,请在评论区,留下你咨询的问题和联系方式,以便后续联系和问题解决,谢谢你的支持

0
Posted in 研究, 科技, 算法设计与分析