Skip to content

Instantly share code, notes, and snippets.

View nihui's full-sized avatar

nihui

  • Shanghai
  • 12:03 (UTC +08:00)
  • X @nihui
View GitHub Profile
@nihui
nihui / M1.GPU.md
Created November 22, 2020 01:42 — forked from BlueCocoa/M1.GPU.md
Model Image Size Target Size Block Size Total Time(sec) GPU Memory(MB)
models-cunet 200x200 400x400 400/200/100 0.93/0.30/0.33 615/615/173
models-cunet 400x400 800x800 400/200/100 0.78/0.71/0.78 2408/615/174
models-cunet 1000x1000 2000x2000 400/200/100 3.16/3.21/3.53 2416/618/175
models-cunet 2000x2000 4000x4000 400/200/100 11.40/11.98/13.86 2420/669/193
models-cunet 4000x4000 8000x8000 400/200/100 44.33/47.15/54.76 2452/644/197
models-upconv_7_anime_style_art_rgb 200x200 400x400 400/200/100 0.16/0.16/0.15 459/459/119
models-upconv_7_anime_style_art_rgb 400x400 800x800 400/200/100 0.43/0.37/0.37 1741/460/119
models-upconv_7_anime_style_art_rgb 1000x1000 2000x2000 400/200/100 1.62/1.59/1.67 1764/462/120
@nihui
nihui / cpu.txt
Created November 22, 2020 01:16 — forked from BlueCocoa/cpu-test1.txt
ncnn benchmark on Apple Silicon M1
$ ./benchmark/benchncnn
thread_policy_set error 46
loop_count = 4
num_threads = 8
powersave = 0
gpu_device = -1
cooling_down = 1
squeezenet min = 5.64 max = 6.24 avg = 5.88
squeezenet_int8 min = 8.93 max = 8.97 avg = 8.94
mobilenet min = 8.86 max = 8.99 avg = 8.91
@nihui
nihui / gitproxy-socat
Created April 27, 2020 14:34 — forked from sit/gitproxy-socat
A simple wrapper around socat to use as a git proxy command
#!/bin/sh
# Use socat to proxy git through an HTTP CONNECT firewall.
# Useful if you are trying to clone git:// from inside a company.
# Requires that the proxy allows CONNECT to port 9418.
#
# Save this file as gitproxy somewhere in your path (e.g., ~/bin) and then run
# chmod +x gitproxy
# git config --global core.gitproxy gitproxy
#
# More details at http://tinyurl.com/8xvpny
@nihui
nihui / git-clearHistory
Created September 9, 2019 14:03 — forked from stephenhardy/git-clearHistory
Steps to clear out the history of a git/github repository
-- Remove the history from
rm -rf .git
-- recreate the repos from the current content only
git init
git add .
git commit -m "Initial commit"
-- push to the github remote repos ensuring you overwrite history
git remote add origin [email protected]:<YOUR ACCOUNT>/<YOUR REPOS>.git
@nihui
nihui / git-tag-delete-local-and-remote.sh
Created September 8, 2019 02:57 — forked from mobilemind/git-tag-delete-local-and-remote.sh
how to delete a git tag locally and remote
# delete local tag '12345'
git tag -d 12345
# delete remote tag '12345' (eg, GitHub version too)
git push origin :refs/tags/12345
# alternative approach
git push --delete origin tagName
git tag -d tagName
@nihui
nihui / gluon_random_crop_resize.py
Created August 29, 2019 10:00
gluon random crop and resize on gpu
# 256x256
data = batch.data[0].as_in_context(ctx)
# random crop resize to 224x224
data_elems = nd.split(data, num_outputs=batch_size, axis=0)
for b in range(batch_size):
xy0 = random.randint(0, 32)
xy1 = random.randint(256-32, 256)
cropped = nd.slice(data_elems[b], begin=(None,None,xy0,xy0), end=(None,None,xy1,xy1))
@nihui
nihui / get_affine_transform.cpp
Created August 7, 2019 06:21
estimate rigid transform from two sets of points, a simplified version for cv::estimateRigidTransfrom
#include <opencv2/core/core.hpp>
static cv::Mat get_affine_transform(const cv::Point2f* a, const cv::Point2f* b, int count)
{
double sa[4][4]={{0.}};
double sb[4]={0.};
double m[4];
cv::Mat A( 4, 4, CV_64F, sa );
cv::Mat B( 4, 1, CV_64F, sb );
cv::Mat MM( 4, 1, CV_64F, m );
@nihui
nihui / op.h
Created July 11, 2019 07:50 — forked from wkcn/op.h
MXNet CPP Op
This file has been truncated, but you can view the full file.
/*!
* Copyright (c) 2019 by Contributors
* \file op.h
* \brief definition of all the operators
* \author Chuntao Hong, Xin Li
*/
#ifndef MXNET_CPP_OP_H_
#define MXNET_CPP_OP_H_
@nihui
nihui / load_proc_save.cpp
Last active July 3, 2019 15:52
load proc save
using namespace ncnn;
class TaskQueue
{
public:
TaskQueue()
{
}
@nihui
nihui / myrec.h
Created March 6, 2018 06:23
simple rec read write wrapper
#ifndef MYREC_H
#define MYREC_H
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <vector>