小编Sum*_*ron的帖子

Django:当看起来它们耦合时,如何完全解耦应用程序?

注意:我不是一个合适的 python程序员...但我广泛使用python.我做的事情就像使用继承编写类,使用迭代器和理解等等.我的观点是我没有完全掌握语言,例如究竟什么构成了python对象,为什么__init__.py除了指定模块之外还需要等等关于Django,我已经编写了多应用程序站点(在SO的帮助下)并且非常喜欢Django的模板系统,块以及它们如何嵌套.现在我的应用程序是完全解耦和可重用的吗?这是这篇文章的主题.

我陈述了这个免责声明,因为许多Django资源似乎都认为人们知道这些事情.这使得对于仅仅是(子力量)用户的人来说理解一些文档和SO问题变得困难.所以请记住这个问题.

这些问题的灵感来自何时在django中使用startapp创建新应用程序的问题通过@哈坎答案给出@antti rasinen可链接到詹姆斯·贝内特2008 PYCON演示

Bennett演讲的几个要点是:

  1. 网站是应用程序的集合
  2. 一个应用程序做一件事,一件事做得好

这引导我进入他提到的"项目耦合杀死重用"一节:

  • 单个模块直接在Python路径上(注册,标记等)
  • 包下的相关模块(ellington.events,ellington.podcasts等)

问题0

在这种情况下,"模块"只是一个由其他应用程序组成的应用程序?

问题1

(具有相关功能和共享模型的应用程序)

应用程序共享模型时应该怎么做?

在Barrett的幻灯片中,他暗示用户注册和用户配置文件是截然不同的,应该是不同的应用程序.(他当然声明配置文件与用户注册无关).

所以,如果我想要两者,我的项目会有两个应用程序,如:

  • 用户注册
  • 用户资料

即使应用程序user-profile需要用户模型user-registration?或者我制作一个应用程序(module):

  • 用户应用
    • 注册
    • 轮廓

哪两个都包含?

问题2

(具有不同功能但共享模型的应用)

从问题1扩展示例,假设我的主应用程序(或主应用程序使用的其他应用程序)利用用户模型的某些方面(例如,如果它是聊天网站,则最近活跃的成员).

显然,我的主应用程序从用户模型中获取此信息.我的主应用程序现在是否捆绑在该user-app模块下?

这可能不是最好的例子,但重点如下:

我有两个应用程序app-dependencyapp-needs-dependency,其中每个应用程序做了一两件事,一件事......这仅仅是app-needs-dependency从需要的信息app-dependency.在这种情况下我该怎么做,如果其他所有内容app-needs-dependency完全脱离app-dependency(因此可以在其他项目中使用)?

问题3

(编写应用程序的灵活性)

现在我的网站上有几个应用程序.每个应用程序都做了一件事,并做得很好.在这种情况下,主应用程序用作登录页面/概述.

我希望我的所有其他应用程序都使用/继承主应用程序的静态和模板文件.

我在哪里存储所有静态文件和模板?在主应用程序中并将其设置为其他应用程序的默认值?或者应该将这些静态文件/模板(例如base.css, …

python django

19
推荐指数
1
解决办法
1536
查看次数

NumPy:沿矩阵对角线构造正方形/扩展对角矩阵

假设您有两个数组:

index = [1, 2, 3]
counts = [2, 3, 2]
Run Code Online (Sandbox Code Playgroud)

或奇异数组

arr = [1, 1, 2, 2, 2, 3, 3]
Run Code Online (Sandbox Code Playgroud)

如何有效构建矩阵

[
  [1, 1, 0, 0, 0, 0, 0],
  [1, 1, 0, 0, 0, 0, 0],
  [0, 0, 2, 2, 2, 0, 0],
  [0, 0, 2, 2, 2, 0, 0],
  [0, 0, 2, 2, 2, 0, 0],
  [0, 0, 0, 0, 0, 3, 3],
  [0, 0, 0, 0, 0, 3, 3]
]
Run Code Online (Sandbox Code Playgroud)

与 NumPy?

我知道

square = np.zeros((7, 7)) …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy matrix

17
推荐指数
2
解决办法
1013
查看次数

TensorFlow估算器ServingInputReceiver的功能与Receiver_tensors的比较:何时以及为什么?

在上一个问题中,serving_input_receiver_fn探讨了的目的和结构,并在回答中

def serving_input_receiver_fn():
  """For the sake of the example, let's assume your input to the network will be a 28x28 grayscale image that you'll then preprocess as needed"""
  input_images = tf.placeholder(dtype=tf.uint8,
                                         shape=[None, 28, 28, 1],
                                         name='input_images')
  # here you do all the operations you need on the images before they can be fed to the net (e.g., normalizing, reshaping, etc). Let's assume "images" is the resulting tensor.

  features = {'input_data' : images} # this …
Run Code Online (Sandbox Code Playgroud)

python tensorflow tensorflow-estimator

15
推荐指数
1
解决办法
2004
查看次数

JavaScript:带下拉菜单的动态导航栏会干扰下拉元素的宽度

感谢您考虑这个问题.

该代码可以在GitHub上找到,在这里.

这里有一些事情,所以在我们得到代码之前,我想解释一下它.

我有一个函数makeNavigation,它使用三个参数来创建导航栏:导航栏的项目数组,导航栏应该去的元素ID和大小.

当不包括边距时,这非常有效.但是,只要边距的两条线被取消注释,那么下拉内容就会比它应该大得多.思考?

另外,当窗口尽可能小地折叠时,而不是仅具有一个下拉元件,"Home"和下拉条被堆叠.为什么/我怎么能纠正这个?

注意:我使用W3 CSShover-master

因此,对于变量,我们有页面和"大小".

var pages = ["HOME","ABOUT","PAGE3","PAGE4","PAGE5","PAGE6","PAGE7","PAGE8"];
var extraSmall, small, medium, large;
extraSmall = 610;
small = 700;
medium = 800;
large = 1250;
Run Code Online (Sandbox Code Playgroud)

对于功能:

function getSizeInText(size) {

  if (size > large) {
    return("large")
  };
  if (extraSmall < size && size <  medium) {
    return("small")
  };
  if (medium <= size && size <= large) {
    return("medium")
  };
  if (size <= extraSmall) {
    return("extraSmall")
  }
}

function makeNavigation(navArray, navID, size) …
Run Code Online (Sandbox Code Playgroud)

html javascript css w3.css

12
推荐指数
1
解决办法
887
查看次数

获取使用PHP5传输的字节用于POST请求

注意我是PHP,Apache和服务器编程的新手,因此将会有更详尽的解释.


上下文

我在javascript中创建了一个进度条,用于在上传文件时显示.当前我以设定的帧速率更新进度条(以查看它是否有效).

显然,为了使其成为准确的进度条,一切都应该与传输的字节数相比,与总字节数相比较.

使用PHP5如何获取有关与文件总字节数相关的传输字节数的信息,以便我可以将其传递给JS函数updateProgress(bytesSoFar, totalBytes)来更新我的进度条?请详细告诉我下面代码所需的修改,以使其工作.我见过xhr一些例子,但它们并不完全可以访问.

我刚刚设置了LocalHost并使用了W3Schools的PHP文件上传教程.要使模拟的"上传"工作,我按照此SO 帖子的建议更改了本地权限.我不一定需要读取文件,我只想知道已传输的许多字节.


目前我有两个文件:

  • 的index.php

  • upload.php的

的index.php

<!DOCTYPE html>
<html>
<body>

<form action="upload.php" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

upload.php的

<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = …
Run Code Online (Sandbox Code Playgroud)

javascript php post http-post

12
推荐指数
1
解决办法
592
查看次数

JSDoc:在另一个@param 中引用方法的@param

我是使用 JSDocs 的新手,找不到这个问题的答案。

假设我想编写这个简单的函数:

function hasQ(array, item) {return array.includes(item);}
Run Code Online (Sandbox Code Playgroud)

使用 JSDoc,我会标记为:

/**
* Another way to call array.includes(item);
* @param {Array} array
* @param {*} item to test if contained in array
* @returns
*/
Run Code Online (Sandbox Code Playgroud)

有没有办法让我array在第二个@param语句中标记这个词,使其引用第一个@param

这只是一个玩具示例,但我希望它使概念清晰。

javascript jsdoc jsdoc3

10
推荐指数
2
解决办法
3163
查看次数

Python3 importlib.util.spec_from_file_location 与相对路径?

有很多关于如何导入相关包或通过显式位置的python问题(链接到两个流行示例)。

此外,总有 文档

读完这篇文章后,我仍然不太确定规范是什么,它们与模块的关系如何,以及为什么需要对其进行标记。

因此,对于不理解的人,您能否尝试解释一下如何做到这一点(以编程方式以及幕后的含义)

例如

如果我有

proj-dir
--mod1
--|--__init__.py
--|--class1.py
--mod2
--|--__init__.py
--|--class2.py
Run Code Online (Sandbox Code Playgroud)

如何将 mod2 导入 mod1?

import sys
sys.path.insert(0, "../mod2")
Run Code Online (Sandbox Code Playgroud)

这在技术上是有效的,但我担心如果我尝试腌制对象并在其他地方使用它们,将来可能会导致问题......

明确定位建议

import importlib.util
spec = importlib.util.spec_from_file_location("module.name", "/path/to/file.py")
foo = importlib.util.module_from_spec(spec)
spec.loader.exec_module(foo)
foo.MyClass()
Run Code Online (Sandbox Code Playgroud)

所以在这种情况下,我只是这样做:

import importlib.util
spec = importlib.util.spec_from_file_location("mod2.class2", "../mod2/class2.py")
foo = importlib.util.module_from_spec(spec)
spec.loader.exec_module(foo)
foo.MyClass()
Run Code Online (Sandbox Code Playgroud)

??

python

9
推荐指数
1
解决办法
6465
查看次数

Tensorflow 1.10 TFRecordDataset - 恢复TFRecords

笔记:

  1. 这个问题延伸到之前的一个问题.在那个问题中,我询问存储一些虚拟数据的最佳方法,ExampleSequenceExample试图了解哪种数据更类似于提供的虚拟数据.我提供了明确的构造ExampleSequenceExample构造,以及在答案中,这是一种编程方式.

  2. 因为这仍然是很多代码,我提供了一个Colab(由谷歌托管的交互式jupyter笔记本)文件,您可以自己尝试代码来协助.所有必要的代码都在那里,并慷慨地评论.

我正在尝试学习如何将我的数据转换为TF记录,因为声称的好处对于我的数据是值得的.然而,文档还有很多不足之处,而且我试图深入的教程/博客(我已经看过),实际上只是触及表面或重新存在的稀疏文档.

对于我在上一个问题中考虑的演示数据- 以及此处 - 我写了一个体面的课程:

  • 具有n个通道的序列(在此示例中,它是基于整数的,具有固定长度并具有n个通道)
  • 软标记的类概率(在这个例子中有n个类和基于浮点数)
  • 一些元数据(在这个例子中是一个字符串和两个浮点数)

并且可以用以下6种形式之一编码数据:

  1. 例如,序列通道/类以数字类型(int64在本例中)分开,并附加元数据
  2. 例如,将序列通道/类分隔为字节串(via numpy.ndarray.tostring()),并附加元数据
  3. 示例,将序列/类转储为字节字符串,并附加元数据

  4. SequenceExample,序列通道/类以数字类型分隔,元数据作为上下文分隔

  5. SequenceExample,序列通道作为字节串分开,元数据作为上下文
  6. SequenceExample,将序列和类转储为字节字符串,将元数据转储为上下文

这很好用.

Colab中,我展示了如何在同一个文件中以及在单独的文件中写入虚拟数据.

我的问题是如何恢复这些数据?

我试图在链接文件中尝试4次尝试.

为什么TFReader与TFWriter在不同的子包下?

python tensorflow python-3.6 tensorflow-datasets tensorflow-estimator

8
推荐指数
1
解决办法
544
查看次数

Django教程:名称'HttpResponse'未定义

我正在通过他们的入门教程学习Django .我查看了其他Django Tutorial错误并没有看到这个(虽然我没有搜索每个列表).

我已经完成了更改mysite/urls.pypolls/urls.py完全按照它们的说明运行了服务器命令:

python manage.py runserver
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: 在此输入图像描述

由于我是Django的新手,我不知道发生了什么.请帮忙.

python django

7
推荐指数
2
解决办法
1万
查看次数

Tensorflow v1.10 +为什么在没有它的情况下制作检查点时需要输入服务接收器功能?

我正在调整我的模型到TensorFlow的估算器API.

我最近根据验证数据询问了一个关于提前停止的问题,除了早期停止之外,还应该导出此时的最佳模型.

似乎我对模型导出是什么以及检查点是什么的理解并不完整.

检查点自动生成.根据我的理解,检查点足以使估算器开始"温暖" - 在错误之前使用每个训练过的重量或重量(例如,如果您经历了停电).

检查点的好处在于除了自定义估算器(即input_fnmodel_fn)所需的代码之外,我不必编写任何代码.

虽然给定一个初始化的估算器,人们可以调用它的train方法来训练模型,但实际上这种方法相当乏味.通常人们想做几件事:

  1. 定期将网络与验证数据集进行比较,以确保您不会过度拟合
  2. 如果发生过度配合,请尽早停止训练
  3. 在网络完成时保存最佳模型(通过达到指定数量的训练步骤或通过早期停止标准).

对于那些刚接触"高级"估算器API的人来说,似乎需要许多低级别的专业知识(例如,对于input_fn),如何让估算器做到这一点并不是直截了当的.

通过一些轻量代码,可以通过使用和使用来实现#1的重做.tf.estimator.TrainSpectf.estimator.EvalSpectf.estimator.train_and_evaluate

在上一个问题中,用户@GPhilo阐明了如何通过使用以下的半不直观函数来实现#2tf.contrib:

tf.contrib.estimator.stop_if_no_decrease_hook(my_estimator,'my_metric_to_monitor', 10000)
Run Code Online (Sandbox Code Playgroud)

(不直观的是"早期停止不是根据非改进评估的数量触发,而是根据特定步骤范围内的非改善性逃避的数量").

@GPhilo - 注意它与#2无关- 也回答了如何做#3(根据原始帖子的要求).然而,我不明白input_serving_fn它是什么,为什么需要它,或者如何制造它.

这使我更加困惑,因为不需要这样的功能来制作检查点,或者估计器从检查点开始"热".

所以我的问题是:

  • 检查点和导出的最佳模型之间有什么区别?
  • 什么是服务输入接收器功能以及如何写一个?(我花了一些时间阅读tensorflow文档并且发现它不足以理解我应该如何写一个,以及我为什么要写一个).
  • 如何训练我的估算器,保存最佳模型,然后加载它.

为了帮助回答我的问题,我提供了这份Colab文件.

这个自包含的笔记本生成一些虚拟数据,将其保存在TF记录中,有一个非常简单的自定义估算器,model_fninput_fn使用TF记录文件训练此模型.因此,有人向我解释我需要为输入服务接收器功能制作什么占位符以及如何完成#3.

更新

@GPhilo最重要的是我不能低估我对你的帮助,包括帮助我(并希望其他人)理解这件事.

我的"目标"(激励我提出这个问题)是尝试建立一个可重复使用的培训网络框架,这样我就可以通过不同的方式build_fn去(加上具有出口模型的生活质量,提前停止等).

更新(基于您的答案)Colab 可以在这里找到.

经过几次你的回答,我发现现在有些困惑:

1.

您为推理模型提供输入的方式与您用于培训的方式不同 …

python tensorflow

7
推荐指数
1
解决办法
1128
查看次数