Pinax源代码分析16 – 总结

(第100天)Oracle GoldenGate 常见故障处理指南 OGG 运维的核心在于细致的配置管理和主动的问题排查。熟悉常见错误、掌握关键操作流程、并善用日志和调试工具,是保障数据同步任务稳定运行的关键。希望这份指南能帮助您更高效地解决 OGG 同步中遇到的问题。祝您运维顺利! 阅读详情

Pinax源代码分析16 – 总结

前一阵读了Pinax的源代码,尽管大多数地方都是浅尝辄止,但是第一次这么认真地读一个开源项目的代码,感觉收益还是不少。对这些天的收获,以及对Pinax学习的一个总结。

Pinax对Django的应用

Pinax 几乎用到了Django的所有功能。比如国际化i18n,类似触发器的signals,大量的自定义标签、context_processors和middleware、generic view等等等等。

模板

Pinax全站的模板都继承自site_base.html。这样,如果要去掉或者添加某一个app,只要修改site_base.html就可以了。总体来讲,site_base.html属于“功能性模板”。

 

site_base.html继承自base.html。它定义了HTML文档的大致结构与布局。如果想要修改站点的整体布局或者是具体风格,应该修改这个模板以及它包含的CSS。

 

大多数app自己的模板文目录中都会包含一个base.html,区别于全站的html,这个模板负责提供子导航栏和侧边栏。通过让app内的其它模板继承这个模板,也可以做到在修改的时候只需修改一个模板就可以了。

中文化

Pinax大量应用了slug,不知道除了程序员和搞SEO的之外会不会有中国人熟悉这东西。所以单纯地将Pinax翻译过来似乎仍然不太符合中国人的使用习惯。

tweets这种app应该直接被枪毙。

此外,Pinax自带一个blog应用,但是支持的集中编码都是我原来没听说过的,估计用户每几个知道的。

用户体验

不知道是不是复用第三方apps复用多了,感觉整个网站用起来不像一个整体,有些地方的用户体验比较糟糕。例如Inbox的设计,Inbox下设多个子栏目(邮件、消息和提醒等等),无论有消息和提醒,Inbox后面都会多出一个数字提醒。但是无论如何,想看到新收到的提醒都必须点击两次。

 

 

 

印象最深刻的app —— app_plugins

实际上不像是一个传统的app,而是借用app的形式扩展了Django,进一步促进了apps之间的分离。实际实现的功能类似于反向的{% block %},它允许一个app定义自己希望被其它的app定义的内容。

举例,app A 可以定义一个 foo.html模板,意为:“我的foo部分可以被其它app包含。”同时app B, C…Z 也定义一个foo.html。任意app的index都可以通过

{% plugin_point "foo " …… %}来包含进搜有app规定的foo.html的内容。但是index对A到Z任意一个app都没有依赖性,可以任意的删除一个app,而不需要对代码做出任何修改。

Pinax对第三方Apps的应用

个人感觉Pinax 对第三方应用的使用已经到了极致。这一段是个人复习用的总结,而且会比较长,所以放在最后:

INSTALLED_APPS = (

    # included

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.sites',

    'django.contrib.humanize',

    'django.contrib.markup',

    #---------------------------------------以上一段都是Django自带的。

# external

# external包括第三方的app以及Pinax中可以独立拿出来嵌入其它项目的app。

    'notification', # must be first 发送Email提醒,在网站上的提醒

    'django_openid', #支持openid登录

    'emailconfirmation', #管理用户的邮箱,并且负责发送确认信。

    'django_extensions',

    'robots', #管理robots.txt

    'dbtemplates',

    'friends', #提供部分好友功能

    'mailer', #发送邮件

    'messages', #站内邮系统。收件箱、发件箱

    'announcements', #通知

    'oembed', #嵌入维基、视频和图片等内容或媒体

    'djangodblog',

    'pagination', #分页

#    'gravatar',

    'threadedcomments', #实现对物体的评论以及tribes里的讨论话题。

    'wiki', #维基,嵌入tribes等apps

    #'swaps', #用户见交易的平台

    'timezones',#时区支持功能

    'app_plugins',#一种app之间包含的机制

    'voting',#通用的投票功能

    'tagging',#提供标签域,以及常用的标签功能。

    'bookmarks',#书签

    'blog',#博客

    'ajax_validation', #用ajax方式验证表单,通用app。

    'photologue',#管理照片,添加了一个供其它Model继承的抽象类,从而添加了许多图片相关的功能。

    'avatar',#用户头像

    'flag',#举报

    'microblogging',#微博客,可以与twitter实现基本的同步

    'locations',#一个“签到”的功能,基于Yahoo Map,没有我从名字想象的那么强大。

    'uni_form',#将表单以统一的形式,以div布局显示出来。

   

# internal (for now)

#internal里的app部分在项目中供完全自定义

#另一部分在Pinax的egg里。

    'analytics',#嵌入google统计代码

    'profiles',#用户档案

    'staticfiles',#将所有的媒体文件都复制到一处,并且负责提供静态文档。进攻测试。

    'account',#用户账号

    'tribes',#小组

    'projects',#项目(其实就是带任务的小组)

    'misc',#大量供其它apps使用的自定义标签和中间件

    'photos',#图片

    'tag_app',#标签

 

    'django.contrib.admin',#Django自带的admin

)

遗漏的apps

发现还有几个没读到的app,包括:

    'django_extensions',

    'dbtemplates',

    'djangodblog',

 

准备进军Satchmo!

 

继电器控制LED灯具导致触点烧蚀粘连的解决办法 阅读详情

相关推荐

MACS2软件进行Peak calling

MACS2可以检出ChIP-Seq,ATAC-seq 以及 MeRIP-seq (RNA甲基化测序) 等富集的序列。peaks calling 有不同的方法,MACS2是最常用的call peaks工具。 MACS全称Model-based Analysis of ChIP-Seq,最初的设计是用来鉴定转录因子的结合位点,但是它也可以用于其他类型的富集方式测序。usage: macs2 [-h] [--version] {callpeak,bdgpeakcall,bdgbroadca

qq_27390023的博客 3791

Python标准库参考笔记-weakref

Python标准库参考笔记-weakref9.11 weakref地址:http://docs.python.org/library/weakref.html对一个对象的弱引用。相对于通常的引用来说,如果一个对象有一个常规的引用,它是不会被垃圾收集器销毁的,但是如果一个对象只剩下一个弱引用,那么它可能被垃圾收集器收回。并非所有的对象都支持weakref,例如list和dict就不支

2977

Python爬虫实战:从巨潮网批量抓取上市公司年报JSON数据

网络爬虫作为自动化数据采集的核心技术,其原理是通过模拟浏览器行为向服务器发送HTTP请求并解析响应,从而高效获取结构化信息。在金融数据分析领域,这项技术价值尤为突出,能够将研究人员从繁琐的手工数据收集中解放出来,聚焦于更高阶的模型构建与价值挖掘。典型的应用场景包括上市公司财务研究、市场趋势分析和风险预警系统开发。本文以Python的requests库为核心工具,详细解析如何通过分析巨潮资讯网的JSON数据接口,构建一个稳定、高效的上市公司年报数据采集管道,并重点探讨了接口逆向、分页爬取、PDF文件下载等关键

weixin_42529366的博客 1237

Python标准库参考-sched

9.8 sched地址:http://docs.python.org/library/sched.html可以做计划任务,就是在指定的延时之后执行一段程序。sched.scheduler(timefunc, delayfunc) 接受两个参数,timefunc必须在没有参数的情况下也能调用,返回延时数字(单位无所谓)。delayfunc接受一

2448

基于SOCKET的***网络软件的设计与实现

二、基于SOCKET的网络软件的需求。2、概要设计:画出软件系统结构图。3、详细设计:软件的详细设计,如类图、序列图、重要的算法流程图或伪代码,等等。4、实现:软件基本功能相关的截图和关键代码。

Recursions的博客 1371

【CUT&TAG分析-加了spike in的样品】

使用 Bowtie2 或 Subread (subjunc) 来构建大肠杆菌的索引。bowtie2比对时设置参数–local, 局部比对。

weixin_57975238的博客 1400

Satchmo笔记1 - 安装(未完成)

Satchmo笔记1 - 安装(未完成)官方网站:http://www.satchmoproject.com/第一印象:文档比Pinax显得更正规一些。安装Dependencies 文档地址:http://www.satchmoproject.com/docs/svn/new_installation.html安装之前,已经有PIL,跳过。1。pycrypto root@fru

2331

罗克韦尔AB PLC_FactoryTalk无法登录的解决方法

罗克韦尔AB PLC_FactoryTalk无法登录的解决方法

Robot_PLC_HMI_Automation 3575

Python标准库参考笔记-decimal

Python标准库参考笔记-decimal10.4 decimal地址:http://docs.python.org/library/decimal.html Decimal支持大多数的数学操作。使用decimal的时候是在一个context背景下工作的。可以使用getcontext来获得当前背景: from decimal import *c = getcontext

2274

《囚徒健身》 六艺,十式

文章目录《囚徒健身》 六艺,十式1、六艺,十式2、优缺点3、手臂和上半身 《囚徒健身》 六艺,十式 1、六艺,十式 1、俯卧撑: 2、深蹲: 3、举腿: 4、引体向上: 5、桥: 6、倒立撑: 十式就是每个动作分拆为十个不同的动作等级,进行训练 每一式里面,又根据做的组数和个数,分成三层,初级,中级,高级 依次循序渐进,每完成上一个动作的高级,则向下一个动作前进 2、优缺点 优点 : 六个动作都是很常见的,日常的动作,不太需要依赖什么器械,随时随地都可以练习,很方便 这些动作可以覆盖到全身大部分

简简单单Onlinezuozuo 4566

Android日志实战——车机日志获取(十五)

这个项目中的 Log 管理系统,其实只是将系统原生 Log 进行输出并导出,并没有太复杂的操作。还有一种 Log 管理系统需要对 Android 原生 Log 系统进行重写,例如我们使用 Log.d(tag, msg) 打印 Log,需要我们根据 tag 信息将不同模块的 Log 数据写入不同的本地文件下,这样可以方便不同模块查看自己的 Log,追踪异常问题。

小旭的专栏 3780

Python标准库参考-collections

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE

2230

PyCharm 配置 Anaconda 环境时找不到 python.exe 的解决办法

通过本文的排查步骤与详细解决方案,你应该能够迅速定位并修复 PyCharm 配置 Anaconda 环境时找不到 python.exe 的问题。确保正确设置环境路径、激活目标环境以及手动指定解释器路径是解决此问题的关键。随着开发工具与包管理器的不断更新,类似的问题可能会出现新的变体。持续关注官方文档、社区讨论和版本更新,可以帮助开发者及时适应新变化,并优化工作流程。希望本文提供的分析和代码示例能为你的开发环境配置带来帮助,让你在 PyCharm 与 Anaconda 的高效协同下,专注于创新与代码实现。

s13596191285的博客 3118

Python网络编程基础(1)——底层网络

第1章        客户/服务器网络介绍1.       一个gopher的客户端。2.       socket的makefile。3.       一个简单的服务器,socket.setsockopt() socket.bind(host,port), socket.listen(1), socket.accept() 第2章        网络客户端1.   

2160

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Pinax源代码分析1

Pinax源代码分析1 分析account package:1 models.py models.py定义的是数据库模型。除此之外,该文件还使用了其它的一些功能:国际化(i18n) setting文件里的USE_I18N = False/True控制了是否使用国际化功能。account模块使用ugettext_lazy:from django.utils.translation

2010

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Python网络编程基础(6)——多任务处理

第六部分 多任务处理第20章 forking1.    fork()多进程程序使用fork来实现,典型的fork结构:pid = os.fork()if pid:#pid不是0,是父进程,pid是子进程的进场号else:#pid是0,子进程。 fork之后,每个进程都含有一个能够的地址空间,更改一个进程的变量不会影响其它进程中的变量。但是由于子进程会拷贝父进

1860

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Pinax源代码分析14 - photos, photologue

Pinax源代码分析14 - photos, photologueurl     (r^photos/, include(photos.urls)),Models photos 利用了 第三方 app photologue:from photologue.models import *photos.models.Image 继承了 photologue.models.Ima

1847

Python标准库参考-calendar

9.2 calendar地址:http://docs.python.org/library/calendar.html用来输出日历的模块,提供了TextCalender和HTMLCalendar,LocaleTextCalendar和LocaleHTMLCalendar。 例如:import calendarc = calendar.TextCalendar()

1375

Pinax源代码分析6 - account

Pinax源代码分析6 - account account —— 帐户管理package,在lib/pinax/ 目录下。url     (r^account/, include(account.urls)),逻辑与模板 依赖: from emailconfirmation.models import EmailAddress, EmailConfirmationf

1320

在Ubuntu 9.04下配置Eclipse和Pydev

在Ubuntu 9.04下配置Eclipse和Pydev在启动软件包管理器,有现成的eclipse和pydev,标记安装即可,共需下载、安装一百多个文件。启动Eclipse,发现不能直接创建Pydev的项目,要求先配置一个Python的解释器。点击“Window – Preferences”,选择“Pydev”选择子选项“Interpreter – Python”。点击New按钮,找到Py

1217

Pinax源代码分析13 - bookmarks

Pinax源代码分析13 - bookmarks 第三方app Django_bookmarksurl     (r^bookmarks/, include(bookmarks.urls)),逻辑与模板 urlpatterns = patterns(,    #显示所有的书签    url(r^$, bookmarks.views.bookmarks, na

1202

Python标准库参考-String Services(2)

地址:http://docs.python.org/library/strings.html8.5 StringIOStringIO允许我们像文件一样操作一个字符串。例如:>>> import StringIO>>> s = StringIO.StringIO()>>> dir(s)[__doc__, __init__, __iter__, __modul

1118

基于深度学习的猫狗目标检测(Python+YOLO26m+Django)实现详解

详解基于深度学习的猫狗目标检测系统:YOLO26m迁移学习训练、数据划分与错标检测、ONNX导出、Energy阈值拒识、Django+Vue网站部署,附后端核心代码。

WEIXIN_JSJBSZDS的博客 349

【复古】浅尝Django前后端不分离

之前我们已经学过用 DRF 开发前后端分离的 Django 项目了,现在我们补充一下前后端不分离的古法 Web 开发的知识点。

2403_88863963的博客 155

基于 Django 的 B 站弹幕情感分析系统-毕业设计

面向UP主与内容研究者的弹幕情感分析系统:粘贴B站视频地址即可采集其全部可见弹幕(自实现WBI接口签名与protobuf解码,无需登录),经清洗、jieba分词、停用词过滤与朴素贝叶斯情感分类,输出情感分布、弹幕密度与情绪时间轴、高频关键词与词云;弹幕语境词由可维护的情感词典二次校正,支持多视频对比与Excel

csbysj2020 148

基于深度学习的交通场景多目标检测与交通流量分析——YOLO26m训练、ONNX部署与Django流量大屏实现

本文介绍一套基于深度学习的交通场景多目标检测与交通流量分析系统。模型侧使用6633张交通画面、79628个标注实例训练YOLO26m主模型,并以YOLO11m、YOLOv8m做同条件对比,评估采用逐类AP应对类别不平衡;应用侧基于Django与Vue2实现登录、图片识别、历史记录与流量大屏四个模块,识别优先走ONNX推理并支持模型切换,检测结果按类别聚合,直观呈现道路车流构成。

WEIXIN_JSJBSZDS的博客 290
上一篇: Pinax源代码分析15 - avator, locations, friends_objects
下一篇: Satchmo笔记1 - 安装(未完成)
runningtortoise
博客等级 码龄21年 15粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值