Skip to main content

NVIDIA DIGITS ve Derin Öğrenme ile İlgili Sorular ve Cevaplar

NVIDIA’nın DIGITS hakkında düzenlemiş olduğu online derste (12.08.2015) katılımcıların yazılı sorularına verilen cevaplar aşağıda yer almaktadır. Dersle ilgili daha fazla bilgi için tıklayınız.

Q: I own a Titan X. I read somewhere that its single-precision performance (FP32) is 7 TFLOPS and double-precision performance (FP64) is only 1.3 TFLOPS. Do the frameworks discussed here all use single-precision by default? If not, how can they be configured for best performance?
A: By default, all the frameworks use single precision floating point.

Q: How is the number of GPUS set in DIGITS?
A: The number of GPUs to use is set on the train model page

Q: Will the model we make on digits work on Nvidia’s fork of Caffe or will it work with vanilla caffe too?
A: It will work in the main branch of Caffe.  Nvidia’s fork uses the same formats and layer types.

Q: Can digits work on a cluster? I have two GPUs on different machines. If I create a cluster out of them, can digits utilise the two GPU’s?
A: Yes, DIGITS can utilize two GPUs.  Recall that DIGITS is built on top of 3rd party frameworks so provided those frameworks can use two GPUs, then DIGITS can also.

Q: I own a Titan X. I read somewhere that its single-precision performance (FP32) is 7 TFLOPS and double-precision performance (FP64) is only 1.3 TFLOPS. Do the frameworks discussed here all use single-precision by default? If not, how can they be configured for best performance?
A: It is single precision by default in Digits

Q: Is it possible to train voice datas with using NVIDIA DIGITS?
A: Currently DIGITS is designed for training on images, but we would like to add support for speech/voice in the future

Q: is Digits for classification only?  How about detection and segmenetation?
A:  Currently DIGITS is for image classification only.

Q:Are there any tricks in getting it running on Ubuntu 15.05 ?
A: No it works fine. One just hjas to install teh dependencies.

Q:Hoang Nguyen: Does DIGITS include data agumentation?
A: DIGITS supports image cropping and resizing as pre-processing. Currently DIGITS does not support randomized data augmentation such as rotations, jitter etc.  You can very easily augment your images before creating your DIGITS database using a command line tool such as ImageMagick

Q:Will the model we make on digits work on Nvidia’s fork of Caffe or will it work with vanilla caffe too?
A: It will work with vanilla caffe too.

Q:Jim Sharpe: Although Allison did provide an initial answer that it should work. I’d like to hear a bit more about acceptable “image” sizes for digits. For example using it on one dimensional “images” or if there are certain sizes of images that work better or worse
A: all images will get resized and re-shaped to square during the process of creating the database. You can select the resizing size with a tradeoff between accuracy for larger resolutions vs speed for smaller resolutions

Q: Hi. How we can use CNN for video classification?
A: DIGITS does not currently support classification of video.  However, you could pre-process your video into frames outside of DIGITS using a tool like openCV.  DIGITS could then train on individual frames and produce a model to classify them.

Q: I’m still struggling to get it to work on OSX.  I’ve spend the last week following the various online guides but it it’s still not quite working yet.  WOuld love to see a binary version of caffe like you have for ubuntu. Or better yet a web installer.
A: We are looking into providing easy installer but it is unsure we can provide an installer for your specific case. Feel free to check the discussion groups on github. Some people have reported similar configuration working.

Q: What is the caffe binary that digits is looking for when the server is launched?
A: DIGITS looks for the caffe.bin binary in $CAFFE_ROOT/build/tools – this is the main Caffe command line interface for training networks.

Q: what is advantage o f gpu vs multicore amazon service?
A: With GPU acceleration, training will run about 8x faster than on CPU

Q: I’d like to experiment with the OverFeat CNN model in DIGITS? How can I do that? Do you have any plans of of maintaining a repo of popular models we can easily add to digits?
A: DIGITS currently has two popular networks already built in, AlexNet and LeNet.  No plans of having an external repo of networks however we may choose to add more built-in networks in the future.

Q: Can you walk us through building DIGITS on top of Windows 7 or 10?
A:  Currently DIGITS is not supported on Windows.

Q: What is the caffe binary that digits is looking for when the server is launched?
A: It is looking on the default path for the exec and library. There is an option to specify the caffe path one wants with the -c argument when launching the server

Q: Jenisha T: Can I extract cnn features using own dataset of natural scenery?
A: Yes, as you train, the process will extract features that are representative of the dataset that you train on.

Q: what is advantage o f gpu vs multicore amazon service
A: Training will be faster since it is using the GPU

Q: Tayyar Rzayev: What kind of license do you need to use Digits outside of NVIDIA?
A:  DIGITS is open source and free for all to use.  You can even contribute to its development and customize it yourself.

Q: do you example with NLP
A: This feature is not yet implemented in Digits

Q:when you use DIGITS, is it necessary to install GPU hardware on your machine ?
A: Not strictly no.  DIGITS relies on the third-party frameworks for the back-end.  Currently Caffe is the third-party framework used underneath DIGITS so the functionality of DIGITS mirrors Caffe.

Q: Mentioning about creating own network, is the own custom network restricted only image classification, or can be anything?
A: Currently DIGITS only supports image classification, but other data modalities are planned in future releases

Q: How we can use the trained model? Is it open and can be utilised in other environments?What are the common APIs for utilizing the trained models?
A:  DIGITS produces a binary caffe_model file and an associated deploy.prototxt file.  Together you can use these within Caffe for deploying the model.  This can be done through the Caffe command line, C++, Python or MATLAB interfaces.

Q: Could DIGITS work with video or sequences or images
A: DIGITS can work with the datatypes that the underlying frameworks can handle.  Currently Caffe is the underlying framework so whatever Caffe can work with, DIGITS can work with.

Q: AlexNet vs LeNet, what is better
A: this depends on the application

Q: Tharindu Mathew: Is there any benefit with SLI GPUs for Digits?
A:  SLI is for graphics acceleration only, it doesn’t have an impact for Digits.  However, Digits now supports multi-GPU training, so you will get a good speedup if you run one training session over 2 GPUs versus one.

Q: After done training, it’s hard to identify top epoches with best validation accuracies. Any hint?
A: Hovering over the curve with the mouse provides tre values. On the top left corner, the caffe_output.log file will provide all the numbers

Q: How big of dataset can be trained with DIGITS? Because DIGITS load images into database, I am afraid DIGITS cannot deal with big dataset.
A: DIGITS pre-builds a database which is then passed into training in batches, whose size you can adjust for performance

Q: Could DIGITS work with video or sequences or images
A: This fetaure is not yet implemented

Q: Sven Fleck: Is an amazon EC2 AWS image available that comprises DIGITS ?
A: NVIDIA is considering providing an official AWS image but at this time there is NOT an NVIDIA-supported image.  However there are a number of other folks who have done this and published either their AMI or blog with info how to do this.  It is not so difficult.

Q: Can digits incrementally update a model after it is initially created?
A: Yes, DIGITS can fine-tune a pre-trained model.  This can either be incremental update using the same data or fine-tuning for an entirely new dataset. You can also fix some layers and then modify and fine-tune other layers.

Q: Regarding video, imagine I extracted the optical flow of the video into a texture, would it be possible to have varying sizes of the opticalflow fields still be processed properly or sholu i resize the smallest OF texture to match the largest?
A: When you create the dataset from images, you set the target size to resize to, and all the images will be resized to this value.

Q: Can you share papers that have used DIGITS?
A: Digits is relatively new but we’re very much interested in hearing about papers too. We had a paper at the ICML AutoML workshop see: https://sites.google.com/site/automlwsicml15/accepted-papers and https://drive.google.com/open?id=0BzRGLkqgrI-qRmk2UXMzeFcxSWM

Q: WHat will happen if my model is larger tha the GPU memory?
A: DIGITS requires that your model parameters and at least one training image can fit in GPU memory to use GPU training – otherwise, you will run out of GPU memory.  Typically, this is not a problem as model parameters are in the 100s of MBs.

Q: I’m trying to do classification of heart beat signals. Does DIGITS support that?
A: If there is a way to format the signals into 2D images, then you definitely could use DIGITS to train a CNN on them

Q: Joshua Schmidt: If you are tapping your validation dataset at regular intervals, have you found it helpful to have an additional holdout dataset to judge model performance?
A: You are correct, it is best to have separate Test and Validation data sets.  Digits supports carving out images from your main data sets for separate Test and Validation sets.  I think many folks are just skipping a final “Test” set and just using Validation, however.  But that is probably not the “best practice”.

Q: I have an existing GTX960. For multiGPU setup Can I use a GTX980 on top of that or do I need to buy another GTX960?
A: You can use different GPUs with no problem. Training speed will be different on each.

Q: Does digits have pretrained models?
A: DIGITS has the prototxt files for some standard architectures, e.g. AlexNet.  The corresponding caffe_model binary files can be downloaded from the Caffe Model Zoo: https://github.com/BVLC/caffe/wiki/Model-Zoo

Q: My Titan X has 12G, I trained standard LeNet model on default MNIST dataset provided in DIGITS. It took almost all memory. Is it possible? It seems strange to me because LeNet is small and MNIST is not big.
A: That does seem like excessive memory usage for LeNet on MNIST

Q: WHat will happen if my model is larger tha the GPU memory?
A: The underlying framework (caffe) will run out of memory and the computation will stop

Q: When subsampling the the images after the convolution step, can we subsample by fractional number.E. g. 28×28 image to be converted to 20×20 image
A: The pooling layers use integer stride in the image sub-sampling, so fractional sub-sampling is not possible

Q: Sander Stepanov: Solver sgd vs adagrad vs nag, when what to use
A: This is application dependent, although usually with appropriate choices of learning parameters you will achieve faster training with adagrad or nag than vanilla sgd

Q: Does digits have pretrained models?
A: No it doesnot but the caffe model zoo has some to try: http://caffe.berkeleyvision.org/model_zoo.html

Q: Do you have any recommendations for GPU cloud service?
A: Both Amazon and Softlayer have GPU enabled instances available today.  With Amazon you get their usual “by the minute” flexibility.  With Softlayer, I think you have to commit to a month at a time, but they will provide more advanced GPUs on machines that are connected by Infiniband, for example…so Softlayer has a more powerful offering if you need the most powerful GPU or “HPC” style deployment.  Both work great for Digits and Deep Learning.

Q: when DIGITS in installed is CAFFE installed as well?
A: NVIDIA’s caffe fork is a requirement of DIGITS for installation

Q: I have an existing GTX960. For multiGPU setup Can I use a GTX980 on top of that or do I need to buy another GTX960?
A: You can mix and match them.  They don’t all need to be identical.

Q: can you write code in C++ to exercise a network on a large number of images
A: Yes, but you would not be using DIGITS, you would use the Caffe C++ API directly

Q: when DIGITS in installed is CAFFE installed as well?
A: Yes, the NVIDIA branch of CAFFE that supports multi-GPU training is installed with DIGITS when you download it from the NVIDIA web page

Q: Solver sgd vs adagrad vs nag, when what to use
A: Difficult question. It will depends on the specific case one is looking at. Andrej’s Karpathy cs224d at Stanford (available online) provides some clues.

Q: Can I configure recurrent network and train it?
A: Currently only convolutional neural networks are supported by DIGITS, and not recurrent networks

Q: Can you mix and match GeForce and Quadro … or will driver differences get on the way?
A: You can but you want to make sure a have a version of the driver and cuda suitable to both your cards.

Q: Will Digits support theano in near future?
A: We are currently evaluating whether we will support Theano with DIGITS.

Q: I have 1 GPU, and I am planning to buy a second GPU. Do I need to buy SLI to make DIGITS works on 2 GPUs?
A: No you don’t. Your GPU just need to be connected to PCIe

Q: I have 1 GPU, and I am planning to buy a second GPU. Do I need to buy SLI to make DIGITS works on 2 GPUs?
A: You do not need SLI for multiple GPUs to be used in training. The CUDA devices are enumerated and used to train in a data parallel manner when you do multi-GPU training

Q: How can we calculate the memory that is required to train a neural netwkwork?
A: You can find a discussion of this and simple formula here: https://timdettmers.wordpress.com/2014/08/14/which-gpu-for-deep-learning/

Q: Can the DIGIT produced binay caffe_model be used to R?
A: It does. There is a download model bright blue button just on top of the “classify one image section”

Q: Can digits get the responses of a particular layer of a pretrained model to images?
A: Yes, once a network is trained, you can use DIGITS to load and classify images, and it provides a visualization of the activations at the various layers in the CNN

Q: Does DIGITS include data agumentation?
A: Yes. In the “customize network section”, there is an option for transform_layer for example

Q: Will Torch nn, cudnn be incorporated into Digits eventually?  If so, roughly when?
A: We have not announced any timeline for this.

Q: If I arrange my medical data as a 2D matrix ( per patient) , can I use DIGITS?
A: You could do that assuming you are attempting to solve a classification problem.  CNNs are probably not applicable though, but MLPs might be.

Q: is Digits for classification only?  How about detection and segmenetation?
A: Right now Digits is classification only.

Q: Can you mix and match GeForce and Quadro … or will driver differences get on the way?
A: It’s not recommended to mix GeForce and Quadro due to driver incompatibilites

Q: can the DIGITS API be accessed from C++
A: The DIGITS API is REST, so yes you could.

Q: My Titan X has 12G, I trained standard LeNet model on default MNIST dataset provided in DIGITS. It took almost all memory. Is it possible? It seems strange to me because LeNet is small and MNIST is not big. A: This will depend on your batch size. The default MNIST experiment in DIGITS does not require the memory mentioned

Q: Anthony James: Can you point me to where there might be an example of how a Caffe model can be incorporated into Python and C++ code?
A: Yes, here are the links:
http://caffe.berkeleyvision.org/gathered/examples/cpp_classification.html
http://caffe.berkeleyvision.org/tutorial/interfaces.html

Q: How big of dataset can be trained with DIGITS? Because DIGITS load images into database, I am fraid DIGITS cannot deal with big dataset.
A: This depends on the experiment, in particular network size and batch size. The first thing to try on a larger model where memory is an issue is to reduce the batch size

Q: What are the “stride” and “pad” parameters in convolition and pool layers?
A: Stride controls the size of the steps taken as the convolution moves across the image. Pad adds zeros around the edge of the image being convolved.

Q: Can I mix and match Maxwell and Pascal?
A: Currently you can’t, mainly because there is no Pascal GPU available.

Q: where could I download the image database for training and testing?
A: Check ImageNet http://image-net.org/download

Q: Can I deploy a trained NN model on an embedded system?
A: Yes, we can run cuDNN, and do classification on our Jetson TK1 and TX1 platforms

Q: Can I deploy a trained NN model on an embedded system? A: Yes. Tou can check the Jetson TK1. http://devblogs.nvidia.com/parallelforall/embedded-machine-learning-cudnn-deep-neural-network-library-jetson-tk1/

Q: What frameworks are used to set up on premise GPU platforms for DIGITs? Any documentation or best practices to accomplish this?
A:  The easiest way to install Digits is to use the package from the NVIDIA Digits download page.  This package includes the NVIDIA branch of Caffe and all the required dependencies. Firsts step is become a “CUDA Registered Developer”.  See: https://developer.nvidia.com/digits

Q: What is the minimum number of pictures representing a category in a training dataset to achieve satisfactory classification results in Digits?
A:  This is completely application dependent.  If you only have a small number of training samples there are ways to artificially increase the number of training instances to improve performance.  If you use a pre-trained network and fine-tune for your new class you can sometimes get good performance with just a handful of examples.

Q: Can I updated the trainin database, while the model being trained?
A: One has to wait for the whole dataset to be on the storage to make sure it will wokr.

Q: What is the best way to shift a particular dataset from one digits installation to another? Or is it best to  prepare the dataset again?
A: You can just put your experiement folder in the new digits data folder. But since you have to do this manually, sometimes it is better to re-prepare the dataset

Q: Is it possible to use DIGITS as an Optical character recognition (OCR) ?
A: Yes, that is what you are doing with the MNIST data in the lab.

Q: i could find DIGITS on githuut. But how do i install Caffe on my linux mint machine?
A: For Digits, one has to use NVIDIA caffe: https://github.com/NVIDIA/caffe

Q: may you recommend intro link to nvidia NN? video?
A: https://developer.nvidia.com/deep-learning-courses – Class #1 – Introduction to Deep Learning

Jon Barker: Q: Lazeni FOFANA: when you use DIGITS, is it necessary to install GPU harware on your machine ?
A: No, you can just use CPU. You will not be able to train large networks in a reasonable amount of time though.

Q: Rafael Dinner: Can the input data be multi-spectral images with more than 3 channels, or imagery plus non-image meta data?
A: Digits does not support more than 3 color channels today. If this is valuable to you, please submit the request in the Digits discussion group.  If we get a lot of requests for a feature it definitely raises its priority.

Mark Ebersole: The recording of this session will be made available on the course website: https://developer.nvidia.com/deep-learning-courses

NVIDIA Derin Öğrenme Dersi #1 Soru ve Cevapları için tıklayınız.

Ferhat Kurt

NVIDIA Deep Learning Institute Sertifikalı eğitmen.

Bir Cevap Yazın

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.