为了训练目的,我在python中实现了线性回归.问题是成本增加而不是减少.对于数据,我使用翼型自噪声数据集.数据可以在这里找到
我导入数据如下:
import pandas as pd
def features():
features = pd.read_csv("data/airfoil_self_noise/airfoil_self_noise.dat.txt", sep="\t", header=None)
X = features.iloc[:, 0:5]
Y = features.iloc[:, 5]
return X.values, Y.values.reshape(Y.shape[0], 1)
Run Code Online (Sandbox Code Playgroud)
我的线性回归代码如下:
import numpy as np
import random
class linearRegression():
def __init__(self, learning_rate=0.01, max_iter=20):
"""
Initialize the hyperparameters of the linear regression.
:param learning_rate: the learning rate
:param max_iter: the max numer of iteration to perform
"""
self.lr = learning_rate
self.max_iter = max_iter
self.m = None
self.weights = None
self.bias = None
def fit(self, …Run Code Online (Sandbox Code Playgroud) 我是一名全栈 Web 开发人员,目前我主要使用前端框架(如 angular)和后端框架(如 Spring Boot)构建单页应用程序。
通常我的 Web 应用程序(假设它是一个 CRUD)的设计如下: 假设我在更新页面上并更新了一个实体。然后向后端发出更新数据库中实体的请求。当后端响应说一切正常时,您的实体已更新(状态代码 200),我浏览下一页,这是带有 url 的读取页面,例如entityName/{id}我通过url将实体的 id 传递到下一页。然后在读取页面上我得到那个 id,向后端发出请求,检索实体数据并显示它们。
当用户失去与互联网的连接时就会出现问题,因此无法向后端发出请求,因此数据无法显示到 ui 或更新。
另一种设计是这样的:我在更新页面上,我更新了我的实体。向后端发出请求,但状态也保留在客户端。因此,假设连接丢失,我仍然可以转到阅读页面并显示更新后的实体。此外,由于状态/数据保存在客户端,我不必向后端发出第二个请求以从 id 获取实体,因为实体位于客户端。在用户在应用程序上花费的时间期间,连接恢复并向服务器发出更新请求以同步数据库和客户端中的数据。
在我看来,第二种方法对用户来说更方便,因为 ui 不太依赖向后端发出的请求来显示其信息,从而使其更加流畅和令人愉快。
我很清楚第一种方法正在使用中。我是这样开发的,所以我的问题是:是否可以从第一个设计转到第二个设计,如果是,用什么技术?
为了实现第二种设计,我会做的是使用服务(使用 angular 实现时)跨组件共享数据。通过这种方式,应用程序的状态可以保存在客户端。但也许有更好的方法。我听说过 NgRx 库来管理应用程序的状态。这是在客户端管理应用程序状态的正确方法吗?
还有第二个问题是确保在连接丢失时无法发出的请求在连接恢复时发出。所以我想知道:是否可以使用一种工具来对请求进行排队并在连接恢复时重新运行它们?我有渐进式 Web 应用程序和服务工作者的概念,但只有概念(就像我知道服务工作者可用于缓存与服务器交换的数据),我想知道这是否是解决此问题的方法?
我在等待你对我的帖子的评论。我希望它不会太长。提前致谢。
我使用 spring、angular 和 docker 构建了一个 web 应用程序。我目前也有两个环境。使用 angularnpm start和 spring提供服务的开发环境mvn spring-boot:run。以及我使用 digitalocean 托管我的应用程序并使用 docker 容器化 angular 和 spring 应用程序的测试环境。
在这个应用程序中,我有一个用户可以注册的注册页面和一个弹簧控制器来处理注册请求。这是我的控制器的代码:
@PostMapping("/register")
public SaveUserDto register(@RequestBody @Valid SaveUserDto saveUserDto, WebRequest request) {
User userToSave = this.modelMapper.map(saveUserDto, User.class);
User registeredUser = null;
try {
registeredUser = this.registrationService.register(userToSave);
} catch (DataIntegrityViolationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
if(e.getRootCause().toString().contains("uk_pfki8mu6sefesty9h30d4n3yv")) {
throw new EmailAlreadyExistException();
}
}
try {
eventPublisher.publishEvent(new OnRegistrationCompleteEvent(registeredUser, request.getLocale(), request.getHeader("Origin")));
} catch (Exception me) {
System.out.println(me.getMessage());
}
if(registeredUser …Run Code Online (Sandbox Code Playgroud) 我正在构建一个 Web 应用程序,通过从客户端发送 ajax 请求,我开始训练在服务器端使用 theano 实现的神经网络。显然,我不想等待服务器完全训练网络以将答案发送回我的客户端,因为这会很长。
所以我想出了 celery,它使我能够在服务器端执行异步代码。我用命令运行芹菜工人celery -A CBIR worker -l info。不幸的是,每次有工作人员运行我的任务(正在使用 theano 训练我的网络)时,我都会收到以下消息:
[2015-12-14 19:15:06,790: ERROR/MainProcess] Process 'Worker-3' pid:1610 exited with 'signal 11 (SIGSEGV)'
[2015-12-14 19:15:07,001: ERROR/MainProcess] Task fit[ac40d4d4-5b56-4278-b270-647ef76f3a49] raised unexpected: WorkerLostError('Worker exited prematurely: signal 11 (SIGSEGV).',)
Traceback (most recent call last):
File "/Users/leo/anaconda/envs/ImgRet/lib/python3.5/site-packages/billiard/pool.py", line 1175, in mark_as_worker_losthuman_status(exitcode)),
billiard.exceptions.WorkerLostError: Worker exited prematurely: signal 11 (SIGSEGV).
Run Code Online (Sandbox Code Playgroud)
我一直在寻找为什么会发生此错误,并且据我所知,我正在运行的代码正在遭受内存泄漏。我不明白的是为什么我的代码在不使用 celery 时运行没有问题,但在使用 Celery 时出现此错误?
最重要的是,我不知道如何解决这个问题。我使用 lldb 查看生成的转储文件,这是我的回溯:
thread #1: tid = 0x0000, 0x00007fff93b4a9b3 libdispatch.dylib`dispatch_group_async + 533, stop reason = …Run Code Online (Sandbox Code Playgroud) 我正在使用带有休眠和 postgres 的 spring 应用程序来存储数据。产品实体的配置如下:
/**
* A Product.
*/
@Entity
@Table(name = "product")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Document(indexName = "product")
public class Product implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
@SequenceGenerator(name = "sequenceGenerator")
private Long id;
...
}
Run Code Online (Sandbox Code Playgroud)
当我想使用 Web 应用程序创建产品时,出现以下错误duplicate key value violates unique constraint. Detail : the key (id)=(35018) already exists。
根据我的理解,hibernate 在 db 中使用一个序列来生成下一个 id 值。所以我SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';在 psql shell 中做了我的数据库中的所有序列。输出是:
hibernate_sequence
jhi_user_id_seq
key_value_id_seq …Run Code Online (Sandbox Code Playgroud)