edubart / arraymancer-vision

Simple library for image loading, preprocessing and visualization for working with arraymancer.
Apache License 2.0
29 stars 4 forks source link

can't import `arraymancer_vision` #1

Open terasakisatoshi opened 6 years ago

terasakisatoshi commented 6 years ago

Hi, I would like to your module but can't import

here is the code I tested

#sample.nim
import arraymancer_vision
echo "hello"

and here is an error log

$ nim c sample.nim
terasakisatoshis-MacBook:official terasakisatoshi$ subl sample.nim 
terasakisatoshis-MacBook:official terasakisatoshi$ 
terasakisatoshis-MacBook:official terasakisatoshi$ 
terasakisatoshis-MacBook:official terasakisatoshi$ 
terasakisatoshis-MacBook:official terasakisatoshi$ 
terasakisatoshis-MacBook:official terasakisatoshi$ 
terasakisatoshis-MacBook:official terasakisatoshi$ nim c sample.nim 
Hint: used config file '/Users/terasakisatoshi/.choosenim/toolchains/nim-0.18.0/config/nim.cfg' [Conf]
Hint: system [Processing]
Hint: sample [Processing]
Hint: arraymancer_vision [Processing]
Hint: math [Processing]
Hint: strutils [Processing]
Hint: parseutils [Processing]
Hint: algorithm [Processing]
Hint: sequtils [Processing]
Hint: macros [Processing]
Hint: random [Processing]
Hint: times [Processing]
Hint: posix [Processing]
Hint: typetraits [Processing]
Hint: future [Processing]
Hint: os [Processing]
Hint: ospaths [Processing]
Hint: read [Processing]
Hint: components [Processing]
Hint: write [Processing]
Hint: streams [Processing]
Hint: arraymancer [Processing]
Hint: nimblas [Processing]
Hint: tensor [Processing]
Hint: metadataArray [Processing]
Hint: global_config [Processing]
Hint: data_structure [Processing]
Hint: init_cpu [Processing]
Hint: functional [Processing]
Hint: nested_containers [Processing]
Hint: sequninit [Processing]
Hint: p_checks [Processing]
Hint: p_init_cpu [Processing]
Hint: init_copy_cpu [Processing]
Hint: higher_order_applymap [Processing]
Hint: openmp [Processing]
Hint: memory_optimization_hints [Processing]
Hint: accessors [Processing]
Hint: p_accessors [Processing]
Hint: p_shapeshifting [Processing]
Hint: accessors_macros_syntax [Processing]
Hint: accessors_macros_read [Processing]
Hint: p_accessors_macros_desugar [Processing]
Hint: p_accessors_macros_read [Processing]
Hint: ast_utils [Processing]
Hint: accessors_macros_write [Processing]
Hint: p_accessors_macros_write [Processing]
Hint: operators_comparison [Processing]
Hint: shapeshifting [Processing]
Hint: higher_order_foldreduce [Processing]
Hint: display [Processing]
Hint: p_display [Processing]
Hint: ufunc [Processing]
Hint: operators_blas_l1 [Processing]
Hint: operators_blas_l2l3 [Processing]
Hint: p_operator_blas_l2l3 [Processing]
Hint: blas_l3_gemm [Processing]
Hint: naive_l2_gemv [Processing]
Hint: operators_broadcasted [Processing]
Hint: operators_logical [Processing]
Hint: math_functions [Processing]
Hint: filling_data [Processing]
Hint: aggregate [Processing]
Hint: lapack [Processing]
Hint: optim_ops_fusion [Processing]
Hint: syntactic_sugar [Processing]
Hint: exporting [Processing]
Hint: nn_primitives [Processing]
Hint: nnp_activation [Processing]
Hint: p_activation [Processing]
Hint: p_logsumexp [Processing]
Hint: nnp_convolution [Processing]
Hint: p_nnp_types [Processing]
Hint: conv [Processing]
Hint: nnp_linear [Processing]
Hint: nnp_sigmoid_cross_entropy [Processing]
Hint: math_ops_fusion [Processing]
Hint: p_nnp_checks [Processing]
Hint: nnp_softmax_cross_entropy [Processing]
Hint: nnp_maxpooling [Processing]
Hint: nnp_softmax [Processing]
Hint: nnp_numerical_gradient [Processing]
Hint: autograd [Processing]
Hint: ag_data_structure [Processing]
Hint: gates_basic [Processing]
Hint: gates_blas [Processing]
Hint: gates_reduce [Processing]
Hint: ag_accessors [Processing]
Hint: nn [Processing]
Hint: sigmoid [Processing]
Hint: relu [Processing]
Hint: tanh [Processing]
Hint: linear [Processing]
Hint: conv2D [Processing]
Hint: maxpool2D [Processing]
Hint: cross_entropy_losses [Processing]
Hint: loss [Processing]
Hint: mean_square_error_loss [Processing]
Hint: ml [Processing]
Hint: accuracy_score [Processing]
Hint: common_error_functions [Processing]
Hint: pca [Processing]
Hint: linear_algebra [Processing]
Hint: least_squares [Processing]
Hint: nimlapack [Processing]
Hint: fenv [Processing]
Hint: decomposition [Processing]
Hint: optimizers [Processing]
Hint: reshape_flatten [Processing]
Hint: nn_dsl [Processing]
Hint: dsl_core [Processing]
Hint: tables [Processing]
Hint: hashes [Processing]
Hint: dsl_types [Processing]
Hint: dsl_initialization [Processing]
Hint: dsl_utils [Processing]
Hint: dsl_topology [Processing]
Hint: dsl_forwardsugar [Processing]
Hint: mnist [Processing]
Hint: endians [Processing]
Hint: io_csv [Processing]
Hint: parsecsv [Processing]
Hint: lexbase [Processing]
Hint: stats [Processing]
/Users/terasakisatoshi/.nimble/pkgs/arraymancer_vision-0.0.3/arraymancer_vision/imageio.nim(44, 20) Error: attempting to call undeclared routine: 'unsafeToTensorReshape'

and here is my environment

OS MacOSX 10.13.4 (High Sierra)
nim 0.18.0
arraymancer 0.4.0
stb_image 2.1
mratsim commented 6 years ago

Hello @terasakisatoshi,

Unfortunately Arraymancer Vision has not been updated following changes in Arraymancer 0.3.0 and 0.4.0.

I do plan to at least add image reading in the main repo, do you have any other needs?

mratsim commented 6 years ago

I've added reading from and writing to images: https://github.com/mratsim/Arraymancer/pull/244.

terasakisatoshi commented 6 years ago

Thank you for your modification. I have confirmed I can read image via arraymancer :

import arraymancer
var origimage=read_image("nim.png")
echo origimage.shape # [4, 900, 1187]
origimage.write_png("output_from_nim.png")

I do plan to at least add image reading in the main repo, do you have any other needs? For now, reading or output image feature is enough for me. If you find the time, It is appreciated to add feature that it visualizes image.

mratsim commented 6 years ago

For the visualisation I think that should be added as an external library.

You can check nim-plotly and here is an example of using nim-plotly with arraymancer: NeuralNetworkLiveDemo

terasakisatoshi commented 6 years ago

Thank you for your information!!! This is cool! I will try it.