小编Moh*_*nan的帖子

如何获取 tf.data.dataset 的形状?

我知道数据集有 output_shapes,但它显示如下:

data_set: DatasetV1Adapter 形状: {item_id_hist: (?, ?), tags: (?, ?), client_platform: (?,), entry: (?,), item_id: (?,), label: (?,),模式:(?,),时间:(?,),user_id:(?,)},类型:{item_id_hist:tf.int64,标签:tf.int64,client_platform:tf.string,入口:tf.string,item_id :tf.int64,标签:tf.int64,模式:tf.int64,时间:tf.int64,user_id:tf.int64}

我怎样才能得到我的数据总数?

machine-learning deep-learning tensorflow tensorflow-datasets

13
推荐指数
1
解决办法
7630
查看次数

如何在 JPA 领域模型中实现状态设计模式

我想在 JPA 中实现状态设计模式。这篇博文中概述了我目前的做法。

作者使用包含所有可用状态实现的枚举,而不是为状态抽象创建抽象类/接口并为每个状态编写实现。我发现这种方法非常有用,因为枚举可以在 JPA 中轻松序列化,并且您可以无需额外工作即可存储对象的当前状态。我还将状态接口和所有状态类嵌套到枚举中,使它们成为私有的,因为它们是特定于实现的,不应该对任何客户端可见。这是枚举的代码示例:

public enum State {

  STATE_A(new StateA()),
  STATE_B(new StateB());

  private final StateTransition state;

  private State(StateTransition state) {
     this.state = state;
  }

  void transitionA(Context ctx) {
    state.transitionA(ctx);
  }

  void transitionB(Context ctx) {
     state.transitionB(ctx);
  }

  private interface StateTransition {

    void transitionA(Context ctx);

    void transitionB(Context ctx);
  }

  private static class StateA implements StateTransition {

    @Override
    public void transitionA(Context ctx) {
        // do something
    ctx.setState(STATE_B);
    }

    @Override
    public void transitionB(Context ctx) {
        // do something
    ctx.setState(STATE_A);
    } …
Run Code Online (Sandbox Code Playgroud)

java design-patterns jpa aspectj

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

将可变大小的 numpy 数组转换为 Tensorflow 张量

我正在尝试 Tensorflow 2.0 alpha 预览版并正在测试 Eager execution 。我的疑问是,如果您在中间有一个可变大小的 numpy 数组,例如

input.shape
(10,)

input[0].shape
(109, 16)

input[1].shape
(266, 16)
Run Code Online (Sandbox Code Playgroud)

等等数组的其余部分,如何急切地将它们转换为张量。

当我尝试

tf.convert_to_tensor(input)
Run Code Online (Sandbox Code Playgroud)

或者

tf.Variable(input)
Run Code Online (Sandbox Code Playgroud)

我得到

ValueError:无法将 numpy ndarray 转换为张量(无法以字节形式获取元素。)。

转换每个子数组有效,但由于子数组大小不同,tf.stack 不起作用。

任何帮助或建议?

python numpy tensorflow tensorflow2.0

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

使用Jasmine时未定义的函数错误

我认为通过编写像这样的Jasmine模拟我取得了很好的进展.但我无法修复此错误.

spyOn方法实际上如何工作?实际上这种方法似乎被广泛使用.在2.0中有所改变

describe('Test Controller', function() {

var $scope, $rootScope, $q, controller, mockService, queryDeferred;

//What is the expected response ?
var expectedResponse = [{ suffix: 'Mr.'}, { prefix: 'Miss'}];

beforeEach(function () {
  angular.module("Test", []);
});

beforeEach(module('Test'));

beforeEach(inject(function(_$rootScope_, _$q_, $controller) {
      $q = _$q_;
      $rootScope = _$rootScope_;
      $scope = $rootScope.$new();


      mockService = {
        query: function() {
          queryDeferred = $q.defer();
          return queryDeferred.promise;
        }
      }


      spyOn(mockService, 'query').andCallThrough();

      // inject the mocked Service into the controller.
      controller = $controller('TestController', {
        '$scope': $scope,
        'ServiceApi': mockService
      }); …
Run Code Online (Sandbox Code Playgroud)

jasmine

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

使用Spring Boot的AOP

我在STS的Spring Boot启动项目中使用了这个Spring AOP代码.经过一段时间的调试后,我发现AspectJ语法没有任何问题.Maven依赖关系是由STS为AOP启动项目生成的.这个代码中有一个明显的遗漏,就像注释一样吗?另一个问题可能是AOP启动项目或我尝试在@PostConstruct方法中测试代码的方式.

我安装了AJDT,但似乎STS应该在IDE中自己显示AspectJ标记.对 ?我没有看到标记.STS中包含哪些其他AspectJ调试选项?-Xlint是我在Eclipse/AJDT中使用的.

StateHandler.java

public class StateHandler<EVENTTYPE extends EventType> {


private State<EVENTTYPE> state;

private Event<EVENTTYPE> event;

public StateHandler(State<EVENTTYPE> state, Event<EVENTTYPE> event) {
    this.state = state;
    this.event = event;
}


public void handle( Event<EVENTTYPE> event ){

    state = state.handle( event );

}

public State<EVENTTYPE> getState() {
    return state;
}

}
Run Code Online (Sandbox Code Playgroud)

DeviceLogger .java

    @Aspect
    @Component
    public class DeviceLogger {

    private static Logger logger = Logger.getLogger("Device");


        @Around("execution(* com.devicemachine.StateHandler.*(..))")
        public void log() {
            logger.info( "Logger" );
        }
} …
Run Code Online (Sandbox Code Playgroud)

spring-aop spring-boot

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

如何对使用 JDK 流 API 的代码进行渐近分析?

一般来说,我知道我们必须查看源代码才能了解代码的性能。

但更具体地说,这段代码在竞争激烈的编程网站中会超时。

这将查找流中从0到的数字出现的频率100。数组中的数字介于0和之间100

    // Times out with int[] array containing 100000 elements.

    List<Integer> l = new ArrayList<>();
    for( int i = 0 ; i < array.length ; i ++){
        l.add(array[i]);
    }

    int[] counts = new int[100];
    Arrays.stream(array).forEach( i -> counts[i] = Collections.frequency( l, i));
Run Code Online (Sandbox Code Playgroud)

这段代码的 Big-O 分析是什么?我认为罪魁祸首是我使用 Streams API 的方式。

java complexity-theory java-stream

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

如何安装tensorflow==2.3.0

我想在新的tensorflow2.3 中测试一些功能但是,我在安装过程中苦苦挣扎。

我看到:当 conda 尚不支持时,如何在 Windows 上安装最新的 Tensorflow(此处:2.2)?

我执行了: pip install --upgrade pip

我有:

ERROR: Could not find a version that satisfies the requirement tensorflow-cpu==2.3.0rc2 (from versions: 1.15.0rc0, 1.15.0rc1, 1.15.0rc2, 1.15.0rc3, 1.15.0, 2.1.0rc0, 2.1.0rc1, 2.1.0rc2, 2.1.0)
ERROR: No matching distribution found for tensorflow-cpu==2.3.0rc2
Run Code Online (Sandbox Code Playgroud)

pip tensorflow tensorflow2

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

在 TensorFlow 中使用多个 CPU 内核

我已经广泛研究了 TensorFlow 上的其他答案,但我似乎无法让它在我的 CPU 上使用多个内核。

根据 htop,以下程序仅使用单个 CPU 内核:

import tensorflow as tf

n_cpus = 20

sess = tf.Session(config=tf.ConfigProto(
    device_count={ "CPU": n_cpus },
    inter_op_parallelism_threads=n_cpus,
    intra_op_parallelism_threads=1,
))

size = 100000

A = tf.ones([size, size], name="A")
B = tf.ones([size, size], name="B")
C = tf.ones([size, size], name="C")

with tf.device("/cpu:0"):
    x = tf.matmul(A, B)
with tf.device("/cpu:1"):
    y = tf.matmul(A, C)

sess.run([x, y])

# run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
# run_metadata = tf.RunMetadata()
# sess.run([x, y], options=run_options, run_metadata=run_metadata)

# for device in run_metadata.step_stats.dev_stats:
#     device_name = device.device …
Run Code Online (Sandbox Code Playgroud)

python parallel-processing multithreading affinity tensorflow

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

使用公式的Conv2D转置输出形状

[-1,256,256,3]使用如下所示的转置图层作为输出形状。我打印输出形状。我的问题特别是关于高度和宽度这两者的问题256。通道似乎是我代码中最后一个转置层的滤波器数量。

我相当简单地假设公式是这样的。我读了其他主题。

H = (H1 - 1)*stride + HF - 2*padding
Run Code Online (Sandbox Code Playgroud)

但是当我计算时,我似乎没有得到该输出。我想我可能会缺少填充计算,那么添加了多少填充'SAME'

我的代码是这个。

H = (H1 - 1)*stride + HF - 2*padding
Run Code Online (Sandbox Code Playgroud)

python tensorflow convolutional-neural-network

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

将 tensorflow 从 2.1.2 升级到 2.3.0 后,Tensorboard 无法使用

我使用的是 TensorFlow 2.1.2 和 TensorBoard 2.4.1,

import os, shutil
import tensorflow as tf
print(tf.__version__)

SUMMARY_DIR = 'summary/testing_this'
if 1:
    # SUMMARY_DIR is the path of the directory where the tensorboard SummaryWriter files are written
    # the directory is removed, if it already exists
    if os.path.exists(SUMMARY_DIR):
        shutil.rmtree(SUMMARY_DIR)

    train_summary_writer = tf.summary.create_file_writer(os.path.join(SUMMARY_DIR, 'train'))
    test_summary_writer  = tf.summary.create_file_writer(os.path.join(SUMMARY_DIR, 'test'))
    train_summary_counter = 0

for i in range(100):
    with train_summary_writer.as_default():
        tf.summary.scalar('train/sampled-softmax loss', i+5, step=train_summary_counter)                
        train_summary_counter += 1
    
    
Run Code Online (Sandbox Code Playgroud)

上面写的代码工作得很好。但是当我升级到 TensorFlow 2.3.0 时,抛出了以下错误——

Serving TensorBoard on localhost; to expose …
Run Code Online (Sandbox Code Playgroud)

tensorflow tensorboard tensorflow2.0

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