小编Mat*_*Mat的帖子

具有复合聚合函数的数组子集优化

我有一个P = [1, 5, 3, 6, 4, ...]大小N和平均数组A.

我想找到最有效的方法来最大化以下3D功能:

f(x, y) = 1 / ( (1+e^(-6(x-2))) * (1+e^(-6(y-2))) * (1+e^(-0.1x-0.3y+1.5)) )

功能gcontour情节

where x = c(S) = Count(S)y = m(S) = Min(S[0]/A, S[1]/A, ..., S[n]/A),S是和的一个子集P.子集不必是连续的P.

我有一种感觉,这可能会减少到子集求和问题的某些变体,但我真的不知道从哪里开始除了排序P.目标是在PHP中实现该算法,但实际上任何伪代码都会有很大帮助.

php arrays optimization aggregate subset

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

在tensorflow中恢复图失败,因为没有要保存的变量

我知道堆栈和github等上有无数关于如何在Tensorflow中恢复训练模型的问题.我已阅读大部分(1,2,3).

我有几乎完全相同的问题3然而我想尽可能以不同的方式解决它,因为我的训练和我的测试需要在从shell调用的单独脚本中,我不想添加完全相同的行我用于在测试脚本中定义图形,因此我不能使用tensorflow FLAGS和其他基于手动重新运行图形的答案.

我也不想sess.run每个变量并手动映射它们,因为它解释为我的图表非常大(使用带有参数input_map的import_graph_def).

所以我运行一些图表并在特定的脚本中训练它.比如(但没有培训部分)

#Script 1
import tensorflow as tf
import cPickle as pickle

x=tf.Variable(42)
saver=tf.train.Saver()
sess=tf.Session()
#Saving the graph
graph_def=sess.graph_def
with open('graph.pkl','wb') as output:
  pickle.dump(graph_def,output,HIGHEST_PROTOCOL)


#Training the model
sess.run(tf.initialize_all_variables())
#Saving the variables
saver.save(sess,"pretrained_model.ckpt")
Run Code Online (Sandbox Code Playgroud)

我现在已经保存了图形和变量,所以我应该能够从另一个脚本运行我的测试模型,即使我的图形中有额外的训练节点.

#Script 2
import tensorflow as tf
import cPickle as pickle

sess=tf.Session()
with open('graph.pkl','rb') as input:
  graph_def=pickle.load(input)


tf.import_graph_def(graph_def,name='persisted')
Run Code Online (Sandbox Code Playgroud)

然后显然我想使用保护程序恢复变量,但我遇到了与3相同的问题,因为没有找到保存甚至创建保护程序的变量.所以我写不出来:

saver=tf.train.Saver()
saver.restore(sess,"pretrained_model.ckpt")
Run Code Online (Sandbox Code Playgroud)

有没有办法绕过这些限制,我认为通过导入图形它会恢复每个节点中未初始化的变量,但似乎不是我真的需要第二次重新运行它像大多数给出的答案?

python restore tensorflow

6
推荐指数
1
解决办法
6244
查看次数

ThreeJS中InstancedBufferGeometry和InstancedMesh有什么区别?

以下是他们的文件:

InstancedMeshhttps://thirdjs.org/docs/#api/en/objects/InstancedMesh

InstancedBufferGeometryhttps:// Threejs.org/docs/#api/en/core/InstancedBufferGeometry

这里还有一些示例: https://github.com/mrdoob/ Three.js/blob/dev/examples/webgl_buffergeometry_instancing.html

我总体上了解 Threejs 和 WebGL 中“实例化”的基本概念。我目前的理解是 Mesh 由Geometry和组成Material(例如const plane = new THREE.Mesh(geometry, material))。几何形状不包含颜色,但材料包含颜色。

从上面的示例中,我看到他们将颜色属性放入InstancedBufferGeometry,这非常令人困惑......几何体不应该有颜色,对吧?我错了吗?

geometry.setAttribute( 'offset', new THREE.InstancedBufferAttribute( new Float32Array( offsets ), 3 ) );
geometry.setAttribute( 'color', new THREE.InstancedBufferAttribute( new Float32Array( colors ), 4 ) );
geometry.setAttribute( 'orientationStart', new THREE.InstancedBufferAttribute( new Float32Array( orientationsStart ), 4 ) );
geometry.setAttribute( 'orientationEnd', new THREE.InstancedBufferAttribute( new Float32Array( orientationsEnd ), 4 ) );
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果我想用不同颜色渲染 1000 个正方形平面并独立移动,我应该使用InstancedMesh …

three.js

6
推荐指数
1
解决办法
3527
查看次数

如何在Tensorflow中使用`transform_graph`

我想优化经过冻结训练的Tensorflow模型。但是,我发现该optimize_for_inference库不再可用。

import tensorflow as tf

from tensorflow.python.tools import freeze_graph
from tensorflow.python.tools import optimize_for_inference_lib

input_graph_def = tf.GraphDef()
with tf.gfile.Open("./inference_graph/frozen_model.pb", "rb") as f:
    data = f.read()
    input_graph_def.ParseFromString(data)

output_graph_def = optimize_for_inference_lib.optimize_for_inference(
        input_graph_def,
        ["image_tensor"], ## input  
        ["'detection_boxes, detection_scores, detection_classes, num_detections"], ## outputs
        tf.float32.as_datatype_enum)

f = tf.gfile.FastGFile("./optimized_model.pb", "wb")
f.write(output_graph_def.SerializeToString())
Run Code Online (Sandbox Code Playgroud)

transform_graphhttps://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/graph_transforms/README.md#strip_unused_nodes找到了优化我的冻结模型。我能够成功地为我的对象检测模型生成一个可以工作的优化模型。生成模型的优化版本的目的是提高模型的推理速度。我在bash(/ tensorflow根目录)中输入了以下代码:

bazel-bin/tensorflow/tools/graph_transforms/transform_graph \
--in_graph=/Users/cvsanbuenaventura/Documents/tensorflow_fastlog/models/research/object_detection/inference_graph/frozen_inference_graph.pb \
--out_graph=/Users/cvsanbuenaventura/Documents/tensorflow_fastlog/models/research/object_detection/inference_graph/optimized_inference_graph-transform_graph-manyoutputs-planA2-v2.pb \
--inputs='image_tensor' \
--outputs='detection_boxes, detection_scores, detection_classes, num_detections' \
--transforms='fold_batch_norms
fold_old_batch_norms
fold_constants(ignore_errors=true)'
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:

  1. 转换做什么? fold_batch_norms, fold_old_batch_norms, fold_constants(ignore_errors=true)
  2. 我能够使用上面的三个转换成功生成优化的模型。但是还有其他变换(例如strip_unused_nodes(type=float, shape="1,299,299,3"))。这是做什么的?我应该在这里放什么形状?
  3. optimize_for_inference库不存在了吗?

python macos bash tensorflow

5
推荐指数
1
解决办法
1259
查看次数

OneDrive 使用 Python 释放空间

我一直使用 OneDrive 存储大量图像,现在需要处理这些图像,因此我已将 OneDrive 文件夹同步到我的计算机,这相对不占用磁盘空间。但是,由于我open()的代码中必须包含它们,因此它们都会被下载,这将占用比我计算机上的可用内存更多的空间。我可以手动使用右键单击上下文菜单中的“释放空间”操作,这可以使它们保持同步而不占用空间。

我正在寻找一种方法来做同样的事情,但是在我的代码中,在我处理每张图像之后。

试图找到如何获取上下文菜单项的命令,我找到了注册表中的这两个位置:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell

HKEY_LOCAL_MACHINE\SOFTWARE\Classes*\shellex\ContextMenuHandlers

然而我找不到任何与之相关的东西,而且那些树有太多的键来盲目检查。此外,此论坛帖子(外部链接)显示了几种自动释放空间的方法,但它似乎会影响所有文件,并且仅限于全天间隔。

那么有什么方法可以访问该命令或释放 python 中的空间吗?

python onedrive

4
推荐指数
1
解决办法
1726
查看次数

UnityEngine.Component不包含定义... C#

我家和大学的机器安装了不同版本的Unity.在我家更新,在大学时更老,我想知道这是不是导致我的问题.游戏工作正常,直到我试图在我的家用电脑上进一步开发它.

获取两条错误消息:

'UnityEngine.Component' does not contain a definition for 'bounds' and no extension method 'bounds' of type 'UnityEngine.Component' could be found. Are you missing an assembly reference?

和:

'UnityEngine.Component' does not contain a definition for 'MovePosition' and no extension method 'MovePosition' of type 'UnityEngine.Component' could be found. Are you missing an assembly reference?

这是我的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SantaBagController : MonoBehaviour {

    public Camera cam;

    private float maxWidth;

    // Use this for initialization
    void Start () …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

3
推荐指数
1
解决办法
2770
查看次数

我想从我的数据库中检索多个数据.我使用C#和SQL服务器

这是我的代码,我无法检索多个数据,如果我只给它一个列它可以工作,但当我给多列时,它与我使用c#和sql服务器工作.

 SqlConnection con3 = new SqlConnection(conString);
 con3.Open();
 if (con3.State == System.Data.ConnectionState.Open)
 {
     string s = "SELECT ([reg_grade] ,[t_name],[start_time], [end_time]) from addteacher where class_id='" + comboBox2.SelectedItem.ToString() + "' ";
     SqlCommand cm = new SqlCommand(s, con3);
     SqlDataReader dr1 = cm.ExecuteReader();
     while (dr1.Read())
     {
         grade_att.Text = (dr1["reg_grade"]).ToString();
         tname_att.Text = (dr1["t_name"]).ToString();
         stime.Text = (dr1["start_time"]).ToString();
         etime.Text = (dr1["end_time"]).ToString();
     }
 }
 con3.Close();
Run Code Online (Sandbox Code Playgroud)

c# database sql-server string multiple-columns

0
推荐指数
1
解决办法
97
查看次数