ODOO的基础知识与环境配置

Odoo迈入开源第一低代码开发平台的重要里程碑 Odoo17在开发者模式功能上的更新让Odoo正式迈入世界级低代码开发平台 阅读详情

        1.Odoo是什么?

        Odoo(原名为OpenERP,更早之前则为TinyERP)是一套企业资源规划(ERP)及以客户为中心的客户关系管理(CRM)系统。以Python语言开发,数据库采用开源的PostgreSQL,系统以GNU GPL开源协议发布。

        系统提供较灵活的模块架构,常用模块包括:采购管理、销售管理、库存管理、财务管理、货品管理、营销管理、客户关系管理、生产管理、人事管理及服务支持等等。用户可以直接从模块库中选择安装适用的模块,进行模块卸载、升级的管理操作。Odoo现在有一套完整的业务应用,满足所有的企业业务需求,从网站、电子商务到制造,库存和会计等,所有的领域无缝集成。这是第一次一个软件系统,被设计成能达到这么全面的功能覆盖。

        客户端用户界面是基于GTK的,同时支持Linux和Windows平台。目前还有开发中的基于TurboGears的eTiny Web客户端。

        2.Odoo的环境配置

        在开始环境配置之前,我们可以先了解一下WSL(全称为Windows Subsystem for Linux),官方翻译为“适用于Linux的Windows子系统”。因为程序开发会特别依赖终端命令的开发,而win10下的cmd终端并没有linux那么多的命令和软件扩展。而且作为一个程序员,不管我们是做前端或者是后端,多少都需要对linux环境有一定的了解,因为程序运行的环境就是在linux中,有些功能只有在linux环境下才能实现。

        而WSL的优势就在于,在win10的环境下运行,并不需要特地装一个Linux的系统。并且其唤出终端就可以直接使用linux的命令,相比虚拟机来说会方便许多。最重要的是wsl的学习成本很低。在此处WSL只需要了解即可。

接下来开始正式的环境配置:

第①步 连接WSL

以管理员模式运行Windows powerShell

输入以下代码 启动WSL(Windows subsystem for linux)功能

 输入以下代码启动虚拟机功能

 此时重启电脑以完成WSL的安装及更新。

 接下来还是打开Power Shell,将WSL2设置为默认版本

 现在可以下载Windows terminal和Ubuntu 20.04LTS,在微软商店中即可下载。

 

 下载好后打开Ubuntu控制台就会让你为新的Linux系统创建用户和密码

 接下来用Windows Terminal打开Power shell在其中查看WSL的状态 (wsl --list -v)

 在powershell中启动并进入WSL(wsl)

 在这里输入exit可以从Linux Bash中 logout 并回头PowerShell中

 但此时Linux系统仍然会在后台运行, 需要使用以下代码关闭Linux系统

 此时再查看发现状态由Running变成了Stopped

 点击此处即可再Windows Terminal中连接WSL

第②步 安装postgreSQL

输入sudo apt-get update更新apt工具源,并验证新建Linux用户时的密码

 然后再用apt工具安装postgreSQL

 确认postgreSQL安装成功

启动PostgreSQL服务

 PostgreSQL默认用户为postgres, 但Odoo会禁止以默认用户连接,所以此时我们需要创建一个新的postgreSQL用户,建议与Linux用户同名。

 同时也需要创建一个数据库(需要postgreSQL服务运行),这里我同样同名创建。

下面有一些postgreSQL的常用命令:

查看postgreSQL服务状态:sudo service postgresql status

启动PostgreSQL服务: sudo service postgresql start

停止PostgreSQL服务: sudo service postgresql stop

创建数据库: createdb <数据库名>

连接到数据库: psql <数据库名>

第③步 安装python及其他依赖:

首先检查python版本(版本不够时可以使用“sudo apt install python3” 安装):

安装python开发工具用:sudo apt install python3-pip python3-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libssl-dev libpq-dev libjpeg-dev

 第④步 下载Odoo源码:

首先我们创建source文件夹并进入,然后从GIthub拉取Odoo源码

 用cd切换到 /src/odoo后安装工具

 设置python虚拟环境并启动

接下来依照odoo文件夹中的requirements.txt安装依赖(此过程耗时较长且可能因为网络等原因中断,如果发生此情况请多试几次)

 依赖安装完毕后,可以在确认PostgreSQL服务已经在运行后(sudo service postgresql status查看服务状态)通过二进制文件运行Odoo, 要注意自己数据库的名字要输入正确(-i base为首次启动初始化数据库, 以后启动不需要)

 成功后可在浏览器中输入http://localhost:8069/进入到登录界面,以默认用户名及密码admin登录。

 到此处Odoo的开发环境就算是配置完成啦!

        3.Odoo的一些基础知识。

        在学习Odoo开发之前,我们需要了解一下Odoo的基础知识。Odoo遵行的是MVC设计模式,我们可以从这个方面入手了解odoo。

                                                首先是odoo模型开发:

odoo模型对象基本分为三种:

odoo.models.Model:常规数据库持久模型,在模块安装或升级的时候会自动在数据库中创建相应的数据表。

odoo.models.TransientModel:临时记录的模型超类,可暂时的持久化,表中数据会定期进行清理。

odoo.models.AbstractModel:抽象模型超类,不会在数据库创建对应表,可为多个Model提供相同属性的统一声明。

odoo模型常用的属性定义有以下几种:

_name:模型唯一的标识,该类非继承父类时必须指定。

_description:模型描述。

_inherit:被继承的模型名称。

_table:模型对应的数据表的名称,默认值是_name的值中将.转换成_(一般无需配置)

_rec_name:在其他模型中引用此模型时显示的字段,默认为name。

_order:排序字段。

                                                然后是view视图的开发:

常用的视图字段有:

name:视图描述,必须配置

model:视图对应的模型名称

arch: 视图布局描述

常用的视图属性:

create: 禁用/启用创建记录,值为ture或false

edit:禁用/启用编辑记录,值为true或false(在form、list、gantt中使用)

delete:禁用/启用删除记录,值为true或false(在form、list中使用)

duplicate:禁用/启用复制记录,值为true或false(在form、list中使用)

import:禁用/启用导入功能,值为true或false(list中使用)

widget:控件类型

 常用的widget类型:

progressbar:进度条,按百分比标签

selection: 下拉选择菜单

radio :单选标签

date: 日期标签

text: 文本标签

checkbox: 复选框标签

url: 网站链接标签

one2many_list: 一对多标签

monetary:金额标签

many2many_binary :文件上传

                                                接下来是Odoo常用的字段类型

        我们可以自己理解一下模型与字段的关系:简单理解为模型由字段组合配置,字段装饰了模型。连接数据库后模型映射为数据库中的表,字段映射为表中的例。

基础字段类型:

char : 单行字符串(限制长度)

text : 多行字符串 (无长度限制)客户端中显示为文本框

Boolean :True /False

integer:封装int

float :fields.Float(string='**',digists=(1,2))   digists属性定义整数部分和小数部分的位数。

Date: 短日期型 包含年月日

Datetime: 时间戳型 包含年月日时分秒

Html: 封装html代码内容

binary :封装二进制内容

selection:枚举类型(下拉列表显示)需要在其中预定义展示的数据

高级字段类型:

reference:引用字段,可以实现让用户自定义要引用的模型和记录。可以通过定义函数来定义字段选择过滤条件。

关系字段类型:

many2one:需要在字段属性中填写关联模型的名称(主键)

one2many:需要在字段属性中填写关联模型的名称(主键)和关联字段(外键)

使用one2many字段时,many2one必须同时使用。

many2many:需要制定关联模型名称,中间表名称,当前关联模型id,需要关联模型的id。 

                       如果没有指定关联表,odoo会自动创建一张关联表,包含两张表的主键字段。

                  格式:  fields.many2many(关联模型名称,中间表名称,当前关联模型id,需要关联模型的id)

保留字段类型:

id:  Integer类型,表主键模型中记录的唯一标识。

create_date: Datetime类型, 记录的创建日期。

create_uid: Many2one类型,记录的创建者。

write_date: Datetime类型, 记录的最后修改日期。

write_uid: Many2one类型, 记录最后修改者。

特殊字段类型:

active: Boolean类型,控制记录是否可见。 (default=False 记录不可见)

name:  Unicode(字符串)类型,显示各种行为。

下面补充一下常用字段的属性:

string : 字符串类型 默认值为字段名,是在视图中显示的字段标签。

required : bool类型 默认值为False, 表示这个字段是否可以为空(设置是否必填作用)。

readonly: bool类型 默认值为False, 表示这个字段是否只读。

help: 字符串类型, 为用户提供帮助提示。

index: bool类型  默认值为False,表示是否在对应数据库列上创建数据库索引。

最后说一下模型中的装饰器:

装饰器: 是指让其他函数不需要做任何代码变动的前提下增加额外功能。

Odoo常用的装饰器:

Model装饰器: @api.model  self仅代表自己 不包含记录信息。

onChange装饰器: @api.onchange('field')  监听某个字段发生改变时,触发对应方法。

Constraints装饰器:   @api.Constraints('field')  约束某些字段(记录修改包含装饰器指定的字段,就会触发对应方法,通常用于字段检验。

Depends装饰器: @api.depends('field') 在函数中,对该字段值进行处理时,如果计算值依赖于其他相关字段,不论是与该字段隶属同一张表的还是其他表的字段,都会触发所编写的字段函数。

总结:

        方法中包含的self不想包含任何记录 使用model装饰器 与self无关

        onchange字段发生监听改变时绑定函数,绑定字段执行相应的方法

        对字段合法性进行校验时使用constraints装饰器进行字段约束。

        虽然 @api.depends 与@api.onchange有诸多相似的地方,但一个重要区别就是 onchange 的侦测字段范围需要在同一个模型或界面上;而depends 可以侦测关联的模型的字段(可以跨不同表)。

以上是本人近期开始学习Odoo整理的一些知识,写的比较杂乱,如有错误的地方请指正。

                                         

odoo17环境部署 wkhtmltopdf下载链接。PostgreSQL下载链接。minicode下载链接。odoo17下载链接。VSCode下载链接。启动odoo17项目。 阅读详情

相关推荐

odoo是什么?

一、odoo介绍 Odoo是基于Python写的一系列开源商业应用程序套装,前身是OpenERP。 此套装可满足中小型企业的一切应用需求,例如,企业基本的进销存、采购、销售、MRP生产制造、品保质量保障、企业招聘、员工合同、休假、午餐管理、内部论坛、车队管理、内部聊天IM沟通、客诉追溯管理、CRM客户关系管理、VOIP、E-Shop电子商务、网店、企业官方网站,财务会计、银行对账、资产管理、HR工资管理、预算管理、WMS仓库库存管理、POS街边小摊、社区商店、项目管理、条码、PLM等等。 最大的特点.

软件行业技术文化交流。 1万+

最适合小白的Odoo12框架详解(更新完毕!!!有错请指正)

文章目录前言一、准备工作1.python安装2.PyCharm安装3.PostgreSQL数据库安装4.准备Odoo源代码5.安装虚拟环境6.安装虚拟环境管理包7.配置虚拟环境安装位置8.创建新的虚拟环境9.安装扩展包10.选择虚拟环境11.创建run.py文件12.创建addons目录13.创建一个PostgreSQL超级用户14.创建odoo-data目录二、使用步骤1.引入库2.读入数据总结 前言 基于做这篇文章主要是给odoo小白提供部署方便 一、准备工作 1.python安装 现如今Odoo框

Pierce°ღ的博客 1万+

Odoo 入门 | 什么是 Odoo?

Odoo是一套全球开源的ERP/CRM系统,最初的名字为TinyERP,08年5月之后称之为OpenERP,之后又改为Odoo。

洛阳泰山的博客 6208

odoo入门级教程(一)

odoo模块开发欢迎加入odoo学习交流群576207588一. 运行odoo二. 创建odoo模块三. 安装模块 欢迎加入odoo学习交流群576207588 一. 运行odoo python odoo-bin -c debian/odoo.conf # -c debian/odoo.conf 代表用odoo.conf配置文件运行odoo的 二. 创建odoo模块 python odoo-bin scaffold myaddons test # python odoo-bin scaffold 用脚

张恒的博客 1万+

DDS器件原理与应用(AD9833 AD9834)

是DDS的核心组成部分,用于实现相位的累加,并输出相应的幅值。相位累加器由M位宽加法器和M位宽寄存器组成,通过时钟控制,将上一次累加结果反馈到加法器输入端实现累加功能,从而使每个时钟周期内的相位递增数为,并取相位累加结果作为地址输出给ROM查找表部分。DDS的相位信息被存放在累加寄存器中,虽然幅值和相位不是线性关系,但寄存器累加值和相位可以是线性关系,很容易用寄存器的累加值表达相位信息。

m0_49968063的博客 6445

HTML入门(详细教程),前端入门从这里开始

HTML基础教程,网页框架搭建,表单制作,了解HTML标签的基本用法,每个标签具备哪些属性。

wandertp的博客 1285

Odoo的基础知识与环境配置

版权声明:本文由神州数码云基地团队整理撰写,若转载请注明出处。 1.Odoo是什么? Odoo(原名为OpenERP,更早之前则为TinyERP)是一套企业资源规划(ERP)及以客户为中心的客户关系管理(CRM)系统。以Python语言开发,数据库采用开源的PostgreSQL,系统以GNU GPL开源协议发布。 系统提供较灵活的模块架构,常用模块包括:采购管理、销售管理、库存管理、财务管理、货品管理、营销管理、客户关系管理、生产管理、人事管理及服务支持等等。用户可以直接从模块库中选择安装适用的模块,进

在数字化道路无限探索 1243

如何用Hugo Stack主题打造极简技术博客?3个必改配置与5个高级美化技巧

本文详细解析了如何深度定制Hugo Stack主题,打造个性化技术博客。文章提供了3个必改配置与5个高级美化技巧,涵盖字体美学、布局重构、代码块视觉强化及细节打磨,帮助开发者超越基础部署,实现从功能到美学的进阶,提升博客质感与用户体验。

carrot的博客 568

【ERP】安装pip,及odoo环境配置

pip 是一个现代的,通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能 安装pip 1、进入Python安装目录并找到Python应用程序 2、拖动Python主应用程序到命令行窗口,直至命令行窗口增加了地址 3、在命令行窗口输入“空格”,然后拖动get-pip.py 脚本到命令行窗口。回车,这时候pip就会自动安装了 pip命令及其参...

学习永不晚 1554

OCTA-500:用于光学相干断层扫描血管造影研究的视网膜数据集|文献速递-基于生成模型的数据增强与疾病监测应用

数据集提供了丰富的图像和注释,包括两种模态(OCT/OCTA体积)、六种投影类型、四种文本标签(年龄/性别/眼别/疾病)以及七种分割标签(大血管/毛细血管/动脉/静脉/2D FAZ/3D FAZ/视网膜层)。我们介绍了新的 OCTA-500 数据集,该数据集包含来自 500 名受试者的 OCTA 成像,并提供了丰富的图像和标注集。(C) OCTA-500 切片的人工标注示例。图 4. OCTA-500 数据集中文本标签的统计直方图:(a) 性别,(b) 眼别,(c) 年龄,(d) 疾病。

weixin_38594676的博客 1436

WSL2下用QEMU模拟ARM开发板:从编译uboot到调试全流程(附常见错误解决)

本文详细介绍了在WSL2环境下使用QEMU模拟ARM开发板的完整流程,包括uboot编译、内核调试等关键步骤。通过QEMU模拟vexpress-a9开发板,开发者可以高效搭建嵌入式开发环境,解决常见错误并提升开发效率。

solidity8miner的博客 286

odoo18.0环境配置

执行:python -m venv venv。

dreamhouse69的博客 348

10款AI工具赋能虚拟展厅设计:架构师效率提升90%的秘密武器

2020年全球疫情成为数字转型的催化剂,虚拟展厅从"可选项"迅速转变为"必需品"。根据Gartner最新报告,到2025年,超过70%的企业将采用虚拟展厅作为客户体验和产品展示的核心渠道。这一转变不仅是应急措施,更是商业模式的永久性革新。虚拟展厅突破了物理空间的限制——一个精心设计的虚拟展厅可以同时接待来自全球各地的访客,无需考虑场地容量;展品可以以数字形式永久保存,避免了物流和损耗问题;数据分析功能可以精确追踪每位访客的行为轨迹,提供前所未有的洞察。数据透视。

AI 领航者的博客 1573

Odoo12—Ubuntu 生产环境配置

一、安装环境说明: 1、操作系统:阿里云服务器Ubuntu16.04 64位(以下说明中的组件是针对64位系统) 2、Odoo12社区版源码。 二、安装步骤 1、远程连接阿里云服务器: 可以通过Xshell 6来进行连接,相关配置如下图: 填写完毕后点击链接,然后依次根据提示输入用户名跟密码,来链接远程服务器。 2、Python安装: 正常情况下,你安装好ubuntu16.04版本之后,系统会...

爬坑手册 1515

RK3588开发笔记-Buildroot编译host-nodejs报错解决ModuleNotFoundError: No module named ‘_bz2‘

在RK3588的开发过程中,使用Buildroot进行系统的构建和编译是一个常见的选择。然而,在编译host-nodejs的过程中,有时会遇到报错信息提示。这个错误通常是由于Python环境中缺少相应的模块导致的。以下将记录我解决这个问题的过程。。在RK3588的开发过程中,使用Buildroot编译host-nodejs时遇到的错误,通常是由于缺少相应的Python模块导致的。通过配置buildroot pythong bzip2开发库并重新编译,可以解决这个问题。

flypig has a dream! 898

YOLOv12涨点改进 | Neck特征融合改进篇 | YOLOv12引 入 BiFPN双向特征金字塔网络,显著提升了多尺度特征融合效率,目标检测、图像分割、图像分类,助力高效涨点

本文提出了一种基于BiFPN特征融合模块优化的YOLOv12目标检测方法。BiFPN通过引入可学习的权重实现高效的多尺度特征融合,结合双向连接机制提升特征提取能力。实验表明,该方法在COCO数据集上实现了优异的检测性能。文章详细介绍了BiFPN模块的原理、核心代码实现,以及如何将其集成到YOLOv12框架中,包括模块添加、配置文件修改等具体步骤。这种改进方案具有参数少、计算量小等优势,为高效目标检测提供了一种新的技术路径。

Ai缝合怪、助力小伙伴高效发论文 391

ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置

在ubuntu20.04中,docker配置Odoo16的VSCode开发环境,查看odoo日志,以及通过脚手架创建自定义模块。

cloud1980_cn的博客 7220

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

odoo环境配置

在更深入了解 Odoo 开发之前,我们应配置好开发环境并学习相关的基础管理任务。本文中,我们将学习创建 Odoo 应用所需用到的工具和环境配置。这里采用 Ubuntu 系统来作为开发服务器实例的主机,可以是云服务器、本地服务器或者PC 上的虚拟机。 本文主要内容有: 配置主机,可以是 Ubuntu系统或 PC 机上的 Linux 子系统 使用源码安装 Odoo,包括数据库和系统依赖的安装 管理 O...

dun1991的博客 2308

深度学习工具包 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")

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Odoo 企业版用户实施手册 第一章 概述 1.4 Odoo 企业版服务器环境配置要求

Odoo 企业版服务器环境配置要求,服务器软硬件配置、客户端配置,授权准备等

智能化技术分享 1647

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【odoo】windows初始环境配置

1.安装Python 下载安装Python,本机装的2.7.9。 打开官网:https://www.python.org/ →Downloads根据自己的需要下载对应操作系统版本(odoo使用2.7即可) 分享网盘:链接:http://pan.baidu.com/s/1o8bm3jk 密码:nf6d 下载.msi文件完成,直接双击运行即可。 安装完成之后配置环境变量,完成后打开cmd命令...

学习永不晚 3450

Pycharm+Docker开发Odoo16全攻略:从环境配置到源码调试

本文详细介绍了如何使用PyCharm和Docker配置Odoo16开发环境,从基础搭建到源码调试的全流程。涵盖Docker环境优化、PostgreSQL数据库配置、PyCharm远程解释器设置以及高级调试技巧,帮助开发者高效进行Odoo16二次开发。特别适合Windows10系统下的企业级应用开发场景。

weixin_30823001的博客 641

odoo环境配置和启动(Mac)

odoo环境配置和启动 因为python环境多,而且要确保统一,先建立一个目录来保存virtualenv运行环境,和odoo11 cd ~/odoo-dev mkdir env.py3 mkdir odoo cd odoo git clone https://github.com/odoo/o...

376

第一章:odoo12基础环境配置

1、代码拉取: ①、在github上直接下载进行压缩获取代码; ②、通过终端命令进行clone代码; git clone https://github.com/odoo/odoo.git --branch master --depth 1 --single-branch ./odoo12 ...

weixin_42579328的博客 4267

Odoo14下载和环境配置(win10)

@[TOC]Odoo14下载和配置 Odoo14下载和环境配置(win10) Odoo14新版本,说实话,在界面UI的设计的概念上极大优化客户体验感,在CRM系统和销售管理等功能模块中,对列表页主视图进行了极大的调节,更形象化和灵活;也融合了更强悍的BI计算性能,可以直接选用计算公式开展计算;Odoo14新版本中MRP被重新定义修改;Studio可以自定审批流设置。 安装Odoo 使用git进行安装: git链接:(https://github.com/odoo/odoo) Python Odoo需要Pyt

panghuuncle的博客 4647

[环境配置] 群晖NAS中通过Docker运行odoo并安装第三方模块

看到别人有解决的,留个记录,以后再看 [环境配置] 群晖NAS中通过Docker运行odoo并安装第三方模块

q361949240的博客 2156
essentials9
博客等级 码龄6年 2粉丝 1原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值